题目描述
用递归的方法求 1+2+3+ …… +N 的值。
输入格式
输入 N。
输出格式
输出和。
输入输出样例
输入 #1复制
5输出 #1复制
15
说明/提示
N≤200
题目难度
入门
参考代码(递归)
#include<bits/stdc++.h>
using namespace std;
int dg(int n){
if(n==1)return 1;
return dg(n-1)+n;
}
int main(){
int n;
cin>>n;
cout<<dg(n)<<endl;
return 0;
}
参考代码(递推)
#include <bits/stdc++.h>
using namespace std;
int f[100010];
int main(){
int a;
cin>>a;
f[1]=1;//要设定f[1]为1。
for(int i=2;i<=a;i++)
f[i]+=f[i-1]+i;//进行递推。
cout<<f[a];
}
参考代码(公式)
#include <bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
cout<<(1+a)*a/2;
}
本文介绍了使用递归、动态规划递推和直接公式三种方法计算从1到N的整数和,并提供了C++代码示例。

被折叠的 条评论
为什么被折叠?



