给定一个n,求出s = 1+2+3+…+n的值。
Input
输入只有一行,包含一个正整数n(n<=232)。
Output
输出一行,为1+2+…+n的值。
Sample Input
10
Sample Output
55
HINT
n的数据范围大,需注意数据类型的选择和计算次序,以避免数据溢出。
答案:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
unsigned long long k,a,b;
while(scanf("%llu",&k)!=EOF)
{
a=k/2*(k+1);
b=(k+1)/2*k;
if(k%2==0)
printf("%llu\n",a);
else
printf("%llu\n",b);
}
return 0;