Problem Description
Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).
In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.
In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.
Input
The input will consist of a series of integers n, one integer per line.
Output
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.
Sample Input
1 100
Sample Output
1 5050PS:这是比较容易理解的方法。而且不容易出错;#include <iostream> using namespace std; int main() { int n,i; int sum; while (cin>>n) { sum=0; for (i=1; i<=n; i++) { sum+=i; } cout<<sum<<endl; cout<<endl; } return 0; }
PS:为了防止溢出可以采取的方法:判断n和n+1哪个是整数,先/2,后进行运算;
#include <iostream> using namespace std; int main() { int n; int sum; while(cin>>n) { sum=0; if(n%2==0) { sum+=(n/2)*(n+1); } else { sum+=((n+1)/2)*n; } cout<<sum<<endl; cout<<endl; } return 0; }