求区别啊,,,
//1
/*#include <stdio.h>
__int64 s[100005];
int main()
{
__int64 n,i;
while(scanf("%I64d",&n)!=EOF)
{
if(n<0)break;
s[1]=1;
s[2]=3;
for(i=3;i<=n;i++)
if(i%3==0)s[i]=s[i-1]+i*i*i;
else s[i]=s[i-1]+i;
printf("%I64d\n",s[n]);
}
return 0;
}*/
//2
/*#include <stdio.h>
__int64 s[100005];
int main()
{
__int64 n,i;
s[1]=1;
s[2]=3;
for(i=3;i<=100000;i++)
if(i%3==0)s[i]=s[i-1]+i*i*i;
else s[i]=s[i-1]+i;
while(scanf("%I64d",&n)!=EOF)
{
if(n<0)break;
printf("%I64d\n",s[n]);
}
return 0;
}*/
[解决办法]
第二种方式是打表法,先把所有结果算出来,直接查找就行,比第一种方法好,第一种是要输入一个数,计算一次