http://acm.hdu.edu.cn/showproblem.php?pid=1001
这题是等差求和,不能直接sum=(1+n)*n/2;因为题目只是说结果在32bit之内,但(1+n)*n很可能超出32bit,所以这样写WA。
#include <iostream> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <queue> #include <algorithm> #define inf 0x3f3f3f3f using namespace std; int main() { __int64 n; while(scanf("%I64d",&n)!=EOF) { cout<<n*(1+n)/2<<endl<<endl; } return 0; }
时间: 2024-10-24 11:46:44