此题很水
问题描述
求s=1+2+3+......+n的精确值(n 以一般整数输入)。
样例
Sample Input 1
10
Sample Output 1
55
提示
注意本题 n 非常大,累加后的和的数据会比较大。
需要考虑数据是否超过 int 范围的情况。
数据范围
2≤n<1000000
OK 此题真的挺简单的,先上谁都想的到的代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, s = 1;
int sum=0;
cin >> n;
while(s<=n){
sum+=s;
s++;
}
cout << sum;
return 0;
}
但是!它说:
“注意本题 n 非常大,累加后的和的数据会比较大。
需要考虑数据是否超过 int 范围的情况。”
所以,其中输出的sum就要变成long long 类型
修改后代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, s = 1;
long long sum=0;
cin >> n;
while(s<=n){
sum+=s;s++;
}
cout << sum;
return 0;
}