hdu 2132

恩。。。这题感觉挺经典的。。。开始wa了一次。。后来一看discuss,才知道原来i的三次方会溢出。然后改对了,代码如下:

#include"stdio.h"

__int64 a[100005],i;
int main( )
{
    int n;
    for(i=1;i<=100000;i++)
    {
        if(i%3==0)
            a[i]=a[i-1]+i*i*i;
        else
            a[i]=a[i-1]+i;
    }
    while(scanf("%d",&n)&&n>=0)
    {
        printf("%I64d\n",a[n]);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/chaosheng/p/2488199.html