第1个回答 2015-01-05
#include <iostream>
using namespace std;
// 此处一个简单的递归算法可以求得sn = 1 + 2 + ... +n;
int fun (int x)
{
if (x == 0) {
return 0;
}
else
return x + fun(x - 1);
}
int main()
{
int i, n, sum = 0;
//此处for循环应该挺好懂的,就不解释了,当然要运行程序的话只需要把n改称你想要的数字,或者用cin >> 输入n;
for (i = 1; i <= n; i++) {
sum += fun(i);
}
cout << sum << endl ;
}
第2个回答 2015-01-05
//January 05,2015 By 12052010 测试已通过
#include<iostream>
using namespace std;
int getNumber(int yourNum){//计算1+2+3+..+yourNum的和
int sum =0;
for(int i=0; i<=yourNum; i++)
sum+=i;
return sum;
}
int main(){
int n;
long sum=0;//累加
do{
cout<<"\nInput n is(n>=0): ";
cin>>n;
} while(n<0);//控制输入合法
for(int i=0; i<=n; i++){//计算1+(1+2)+...+(1+2+..+n)的和
sum+=getNumber(i);
}
cout<<"\nThe result is: "<<sum;
return 0;
}本回答被网友采纳