/*输出一行,包括一个整数,表示1+2+3+...+n的值。 */
#include <iostream>
using namespace std;
int fun(int n)
{
if (n == 1)
return 1;
else if(n>1)
return n + fun(n - 1);
}
int main()
{
int n;
cin >> n;
if(n>0)
cout << fun(n);
return 0;
}
你这题限制了内存大小的吧 你看看你内存是不是已经超了 , 如果是 那就证明你递归消耗的内存过多不满足要求 。
这题应该要等差数列公式去解 然后特殊项要标记出来
不知道你的题目是什么
比如说n很大会不会溢出,n=0输出多少,n<0输出多少
不过最简单的是
int foo(int n)
{
if (n < 1) return 0;
return (1+n)*n/2;
}