杭电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的情况