一个顽猴沿着一座小山的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]);
}

这一问题实际是一个整数有序可重复拆分问题

posted @ 2017-11-20 22:39  随心佩  阅读(1830)  评论(0编辑  收藏  举报