一个顽猴沿着一座小山的n级台阶向上跳,猴子上山一步可跳1级或3级,试求上山的n级台阶有多少种不同的爬法。
#include<stdio.h>
void main(){
int k,n;
long f[1000];
printf("请输入台阶总数:");
scanf("%d",&n);
f[1]=1;f[2]=1;f[3]=2;
for(k=4;k<=n;k++){
f[k]=f[k-1]+f[k-3];
}
printf("s=%ld\n",f[n]);
}
这一问题实际是一个整数有序可重复拆分问题

浙公网安备 33010602011771号