看下面注释,写的很详细了
#include <stdio.h>
int main(void)
{
int f[100],i,j,k,m;
scanf("%d%d",&k,&m); //输入:k=2,m=5
for(i=0;i<=m;i++)
{
f[i]=0; //将f[0]到f[5]全部初始化为0
}
f[k-1]=1; //f[1]=1;
for(i=k;i<=m;i++) //相当于 for(i=2;i<=5;i++)
{
for(j=i-k;j<=i-1;j++) //相当于 for(j=i-2;j<=i-1;j++) 对于这个循环,把i=2,3,4,5依次代进去算
{ //i=2时, for(j=0;j<=1;j++) 循环结束得到 f[2]=1
f[i]+=f[j]; //i=3时, for(j=1;j<=2;j++) 循环结束得到 f[3]=2
} //相当于f[i]=f[i]+f[j]; //i=4时, for(j=2;j<=3;j++) 循环结束得到 f[4]=3
} //i=5时, for(j=3;j<=4;j++) 循环结束得到 f[5]=5
printf("%d%10d%10d\n",k,m,f[m]);
return 0; //f[m]就是f[5],所以最后输出为 2 5 5
}
运行结果:
有帮助望采纳,谢谢!
你把每一步的过程都写出来就行了