你 sum+=(i-3);只和杭电里的数据相吻合了。。后面大的数就错误了。。这是一道递归题。。开数组比较简单。。
a[i]=a[i-1]+a[i-3];
关键是这个。。你好好领悟。。
#include
void main()
{
unsigned int a[56];
int i,j,k;
a[1]=1,a[2]=2,a[3]=3;
for(i=4;i<=55;i++)
a[i]=a[i-1]+a[i-3];
while(scanf("%d",&k),k)
printf("%d\n",a[k]);
}
这是我通过了得代码,你看看吧