// 猴子爬山n级,一步跨1级或3级台阶
#include
void main()
{ int k,n; long f[1000];
printf(" 请输入台阶总数n:");
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",f[n]);
}
// 分级递推
#include
void main()
{ int i,j,k,m,n,t,x[10];
long f[200];
printf("请输入总台阶数:");
scanf("%d",&n); // 输入台阶数
printf("一次有几种跳法:");
scanf("%d",&m);
printf( "请从小到大输入一步跳几级。\n" );
for(i=1;i<=m;i++) // 输入m个一步跳级数
{ printf("第%d个一步可跳级数:",i);
scanf("%d",&x[i]);
}
for(i=1;i<=x[1]-1;i++) f[i]=0;