读书人

杭电acm 2132为何wa啊

发布时间: 2012-07-28 12:25:13 作者: rapoo

杭电acm 2132为什么wa啊?
这道题我求了一下通项公式:

当n是3的倍数时,有sum=n*n/3+n*n*(n+3)*(n+3)/12;

当n%3==1时,有sum=n+(n-1)*(n-1)/3+(n-1)*(n-1)*(n+2)*(n+2)/12;

当n%3==2时,有sum=(n+1)*(n+1)*(n+4)*(n+4)/12-(n+1)*(n+1)*(n+1)+(n+1)*(n+1)/3.

推导过程很简单,就是找规律求和。感觉这公式挺对的,怎么一提交上去就wa了呢?

求高人指点!


[解决办法]
你得考虑计算机能表示数的范围,32位机能表示的最大数是小于100000*100000的,
也就是说,当n大到一定程序时,上述通项公式在计算过程中是有溢出的~
[解决办法]
可以啊,但要注意i*i*i的情况

读书人网 >C语言

热点推荐