首页 > 代码库 > 数学入门题目

数学入门题目

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 0x3f3f3f3fusing namespace std;int main(){    __int64 n;    while(scanf("%I64d",&n)!=EOF)    {        cout<<n*(1+n)/2<<endl<<endl;    }    return 0;}

 

数学入门题目