爱问知识人 爱问教育 医院库

爬楼梯问题(专家级)

首页

爬楼梯问题(专家级)

假设有M阶梯的楼,你可以每次跨1到N步,其中M》N,请问刚好爬到M阶梯,有几种爬法。(只前进不后退)

比如M=30,N=4,即30阶楼梯,每次可以跨1步或者2步或者3步或者4步,答案是多少呢?

提交回答
好评回答
  • 2010-11-23 00:25:46
    弱一点的
    有M阶梯的楼,你可以每次跨1到N步,其中N=M-1,问刚好爬到M阶梯,有几种爬法。(只前进不后退) 
    C1(M-1)+C2(M-1)+…+C(M-1)(M-1)=2^(M-1)-1
    

    月***

    2010-11-23 00:25:46

其他答案

    2010-12-06 08:35:27
  •       解答:
        设刚好爬到K(1≤K≤M)阶梯有A(K)种不同爬法,按条件不难得出:
    A(1)=1,a(2)=2,…,A(N)=2^(N-1)     当1≤K≤N时
    A(K)=A(K-1)+A(K-2)+…+A(K-N)   当N<K时
    通过上式不断迭代求出需要的A(M),但若不用编程或不采用大数计算器,很难正确求得正确结果。
       下面想法找出一般计算公式求A(M): 上面方程的特征方程为 x^N-x^(N-1)-…-x-1=0 (1) 解为 A(n)=C(1)*z(1)^n+C(2)*z(2)^n+…+C(N)*z(N)^n 其中C(i),i=1,…,t是常数,z(i),i=1,…,t是方程(1)的N个根。
       仔细分析后可知,这N个根中有且只有1个根的模大于1(1实根。 所以,刚好爬到M阶梯的不同爬法 A(M)= round{(1-r)/(2N-(N+1)r)*r^M } (2) 其中round(y)为最接近y的整数,即y四舍五入得到的整数。
       计算公式(2)是严格精确的,实际计算可能的误差只是计算过程中产生的误差。 例如,N=4时,r≈1。9275619754829253 按(2)式很容易算得A(30)=201061985,A(45)= 3788394725871 经验算,这两个结果正确。
       。

    A***

    2010-12-06 08:35:27

  • 2010-11-27 13:35:36
  •   此问题似乎没有大家所说的那么难。
       引入记号H(M,N)表示M阶楼梯,每步至多N阶的走法总数,以下结论是明显的: H(1,1)=1;H(M,1)=1;H(2,2)=2=F3(斐波那契数列第三项); H(M,2)=F(M+1)(斐波那契数列第M+1项); H(3,3)=4 H(M,M)=1+C(M-1,1)+C(M-1,2)+…+C(M-1,M-1)=2^(M-1) H(M,M-1)=H(M,M)-1=2^(M-1)-1; 以下考虑,M≥4,3≤N≤M-2的情形 数学模型很简单,但要得出具体表达式却需要一些计算 H(M,N)实际就是下式展开式中的x的M次方项的系数 f(x)=(1+x+x^2+…+x^N)^M 或者转化为 g(x)=[(1-x^(N+1))/(1-x)]^M的展开式的x^M项的系数! 即[1-x^(N+1)]^M*(1+x+x^2+…)^M展开式的x^M项的系数! 这里简单说明一下原理: 因为不论每步上几阶,但上完后总阶数是M,换成上述模型中的解释是,表达式中每一项中x的指数表示一步所跨阶数,因为即使每步上一阶,至多需要走M步,所以外面的M次方就表示这个意思,展开式中的x^n项,就是通过若干步上了n阶,现在我们只关心若干步后上了M阶,所以要考察x^M的情况,那么这一项是怎样的来的呢?那就是由M个相同的多项式中x的不超过M次的项乘积得出的,每构成一个x^M,都代表一种完成任务的方法,于是,它的系数就是完成这一事件的方法总数,即H(M,N)。

    b***

    2010-11-27 13:35:36

  • 2010-11-25 19:55:56
  • 设n,n+1,n+2,n+3个台阶时用的方法分别为A(n) , A(n+1), A(n+2),A(n+3)
    则再增加一个台阶(即n+4)时要么
    最后一步只跨一个台阶,即A(n+3)种方法,
    或走后一步跨两个台阶,即A(n+2)种方法,
    或走后一步跨三个台阶,即A(n+1)种方法,
    或走后一步跨四个台阶,即A(n)种方法
    所以有A(n+4)= A(n+3)+ A(n+2)+ A(n+1)+ A(n)
    A(1)=1, A(2)=2, A(3)=4, A(4)=8,
    所以由计算机的A(30)= 201061985,
    

    x***

    2010-11-25 19:55:56

  • 2010-11-23 15:46:30
  • 比如M=30,N=4,即30阶楼梯,每次可以跨1步或者2步或者3步或者4步,答案是多少呢?
    分部进行: 
    从0到4有以下8种走法:1111,112,121,211,22,13,31,4;
    从4到8有8种走法;以此类推,从8到12,从12到16,^从24到28有8种走法,从28到30有2种走法(11,2)所以一共有8^7*2=2^30种走法.

    S***

    2010-11-23 15:46:30

  • 2010-11-22 00:06:08
  • ……

    温***

    2010-11-22 00:06:08

类似问题

换一换
  • 数学 相关知识

  • 教育培训
  • 教育科学
  • 教育考试

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):