2011-12-16 12:11:14
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2132
题意:求sum[i],定义为:当i是3的倍数时,sum[i] = sum[i-1]+i*i*i,否则sum[i] = sum[i-1] + i。
mark:直接打表。TLE了2次,就是不打表直接算的后果。
代码:
# include <stdio.h>
long long dp[100010] ;
int main ()
{
long long n, i ;
for (i = 1 ; i<= 100000 ; i++)
{
if (i%3==0) dp[i] = dp[i-1] + i*i*i ;
else dp[i] = dp[i-1]+i ;
}
while (~scanf ("%I64d", &n) && n>=0)
printf ("%I64d\n", dp[n]) ;
return 0 ;
}