猴子爬山问题 C语言求解
///////////////////////////////////////////////////////////////////////////////////////////////////// // 猴子爬山问题 // // 一顽猴在一座有30级台阶的小山上爬山跳跃,猴子上山一步可跳1级,或3跳级,试求上山的30级台阶 // // 有多少种不同的走法? // // 解:设爬上k级台阶的不同走法为f(k)种。 // // 则 f(30)=f(29)+f(27) // // 得到递推关系: f(k)=f(k-1)+f(k-3) k>3 // // 初始条件: f(1)=1 // // f(2)=1 // // f(3)=2 // // 设有n级台阶,步有m种跨法,分别为x1,x2,...,xm.求跨上n级台阶总的跨法数f(n)? // // 为方便处理令 x[m+1]=n; // // 当t<x1时, f(t)=0; f(x1)=1; // // 当x1<t<=x2时,f(t)=f(t-x1) if(t==x2) f(t)++; // // 当x2<t<=x3时,f(t)=f(t-x1)+f(t-x2) if(t==x3) f(t)++; // // 当x3<t<=x4时,f(t)=f(t-x1)+f(t-x2)+f(t-x3) if(t==x4) f(t)++; // // ...一般地, // // 当xm<t<x(m+1)时,f(t)=f(t-x1)+...+f(t-xm) if(t==x(m+1) f(t)++; // // 最后f(n)应减1。 // /////////////////////////////////////////////////////////////////////////////////////////////////////
- 1
- xingyunliushui992015-10-08程序不错,能够打开
- 粉丝: 10
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助