欢迎关注本专栏《C++从零基础到信奥赛入门级(CSP-J)》
问题:1145. 数列求和
类型:递归基础
题目描述:
有一数列如下: 1 2 4 7 11 16 22 …… 试求该数列前 N 项之和。
输入:
一个整数 N ( 0<N<1000 )。
输出:
一个整数。
样例:
输入:
6
输出:
41
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int dg(int d){
if(1==d){
return 1;
}else{
return dg(d-1)+(d-1);
}
}
int main(){
//一、分析问题
//已知: 一个整数 N;
//未知:求数列前 N 项之和。
//关系:数列如下: 1 2 4 7 11 16 22
//二、数据定义
int n,sum=0;
//三、数据输入
cin>>n;
//四、数据计算
for(int i=1;i<=n;++i){
sum+=dg(i);
}
//五、输出结果
cout<<sum;
return 0;
}