qq_45735316 2020-05-27 15:33 采纳率: 94.1%
浏览 107
已采纳

这又是错在哪里?为什么后面一半都过不了了?

图片说明图片说明
/*输出一行,包括一个整数,表示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;
}
  • 写回答

2条回答 默认 最新

  • 穆暖阳 2020-05-28 09:18
    关注

    你这题限制了内存大小的吧 你看看你内存是不是已经超了 , 如果是 那就证明你递归消耗的内存过多不满足要求 。

    这题应该要等差数列公式去解 然后特殊项要标记出来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 10月22日

悬赏问题

  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题