欢迎关注本专栏《C++从零基础到信奥赛入门级(CSP-J)》
问题:1146. 求S的值
类型:递归基础、函数
题目描述:
求 S=1+2+4+7+11+16…的值刚好大于等于 5000 时 S 的值。
输入:
无。
输出:
一行,一个整数。
完整代码如下:
#include<bits/stdc++.h>
using namespace std;int dg(int d){int res;if(d==1){res=1;}else{res=dg(d-1)+d-1;}return res;
}int main(){//一、分析问题//未知:求 S=1+2+4+7+11+16…的值刚好大于等于 5000 时 S 的值。//二、定义变量(已知、未知、关系)int s=0,i=1;//三、输入已知//四、根据关系计算while(s<5000){s+=dg(i);++i;} //五、输出未知 cout<<s;return 0;
}