1158:求1+2+3+...
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 46586 通过数: 38322【题目描述】
用递归的方法求1+2+3+……+N的值。
【输入】
输入NN。
【输出】
输出和。
【输入样例】
5
【输出样例】
15
例程1(for循环):
#include <iostream>
using namespace std;
int main() {
int s,i,k=0;
cin>>s;//输入s;
for(i=1; i<=s; i++) {
k+=i;//累加
}
cout<<k;//输出
return 0;
}
例程2(递归):
#include <iostream>
using namespace std;
int sum=0;
int digui(int n,int a) {
sum+=a;
if(a<n){
digui(n,a+1);//递归
}
return sum;//返回之和
}
int main() {
int s;
cin>>s;//输入s
cout<<digui(s,1);//调用递归函数
return 0;
}
本人建议用例程2,因为题目要求为递归,所以用递归合适。