键盘输入一个数给m,计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n.

使用c++
2025-06-28 04:24:01
推荐回答(1个)
回答1:

#include 
#include 
#include 
#include 

using namespace std;


int main()
{
    vector v;

    int count = 0;

    int m;
    cin >> m;

    while (1)
    {
    vector tmp;
    
    v.push_back(++count);
  
    partial_sum(v.begin(), v.end(), back_inserter(tmp));

    if (accumulate(tmp.begin(), tmp.end(), 0) > m)
    {
    break;
    }
    }
    cout << --count << endl;
}

 输入M,就能得到N,楼主试一哈,这可是纯C++哦 嘻嘻