地址
http://acm.hdu.edu.cn/showproblem.php?pid=1001
定位
- 陷阱题
分析
整数范围陷阱
题目虽然强调结果在
int
范围内,但(n+1)*n
有可能超出范围,从而造成Wrong Answer。解决方法是采用
long long
类型变量进行存储。
代码
#include <stdio.h>
int main()
{
long long n,sum;
while(scanf("%d",&n) != EOF)
{
sum = (n+1)*n/2;
printf("%d\n\n",sum);
}
return 0;
}
性能
Exe.Time | Exe.Memory | Code Length | Language |
---|---|---|---|
0MS | 1412K | 180B | c |
总结
审题陷阱:输出结果后紧跟一个空行,不需要对最后一组输出结果做特殊处理。
Thanks everyone!