HDU-1001
错因:
虽然总和在32位有符号数的范围内,很多同学用等差数列求和公式:
但是(a1+an)*n可能会超过超过2^31-1
所以要先让a1 or an先除以2
代码:
#include <iostream>
using namespace std;
int main()
{
int a,k;
while(cin >> a){
if(a%2==0){
k=a/2;
k*=(a+1);
}
else{
k=(a+1)/2;
k*=a;
}
cout << k <<endl << endl;
}
return 0;
}
有帮助的小伙伴点个赞咯,会持续更新HDU的题目