今天小编要带着大家一起搞事情,把简单的事情复杂化。哈哈哈哈!!!!
先看题目:
题目描述
求1到n中所有数的累加和。 n <=1000.
输入格式
一个正整数n。
输出格式
一个正整数,表示1到n的累加和。
样例
输入样例
10
输出样例
55
数据范围与提示
保证n<=10的三次方。
时间限制:1s
空间限制:256MB
先上普通的代码:
#include <iostream>
using namespace std;
int main()
{
int n,b=0;
cin>>n;
for(int i=1;i<=n;i++){
b+=i;
}
cout<<b;
return 0;
}
但这么简单怎么能满足我呢?于是,我有了一个大胆的想法:
我要用递归写代码。哇哇哇!!!
它,它,它来啦!!!
#include <bits/stdc++.h>
using namespace std;
long long a=0;
long long d=1;
long long SBSB(long long n){
if(d>n) return 0;
else{
a+=d;
d++;
SBSB(n);
}
}
int main()
{
long long n;
cin>>n;
SBSB(n);
cout<<a;
return 0;
}
就是通过不了,呵呵,在本地c++,的数据跟测试数据一模一样,可不知为什么过不了。
我们下期再见