有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。
如果每次走1级,需要走10步,结果可以表示成(1,1,1,1,1,1,1,1,1,1);
如果每次走2级,需要走5步,结果可以表示成(2,2,2,2,2,);
思考一下,你还能写出几种……
那么,共有多少种走法呢?
我们可以这样想,假设我们现在还有最后一步要走,可能的情况有哪些?
1.我们站在第9级上,一步1级后到达顶端;
2.我们站在第8级上,一步2级后到达顶端;
所以,最后一步可以走1级或者2级,不外乎两种情况。
再假设,已知从0级到9级的走法有M种,从0级到8级的走法有N种,那么思考一下,从0到10级的走法和M、N有什么关系呢?从0到10级的走法一共是多少种呢?答案是M+N。