c语言上台阶答案

c语言上台阶答案,第1张

这个要用递归做。到某一阶n有两种可能,从第n-1上1阶,从第n-2上2阶,因此到达第n阶的的函数f(n)的走法等于f(n-1)+f(n-2),即到达f(n-1)阶的走法与f(n-2)阶的走法之和!

代码如下:

int f( int n )

{

if ( n == 1 )

{

return 1;

}

else if ( n == 2 )

{

return 2;

}

else

{

return f(n-1) + f(n-2);

}

}

int main()

{

int num = f( 10 );

return 0;

}

打印出 num 的值得话,可以看到 10 阶共有 89 种走法。

可以用枚举法和归纳法来解答。

一、枚举法

11级台阶,如果每次跨2级,最多可跨5次。所以,可以分六种情况来考虑:

1、每次都只跨一级台阶,这样的走法只有1种。

2、有一次跨二级台阶,其余每次都跨一级台阶,这样的走法有9种。

3、有两次跨二级台阶,其余每次都跨一级台阶,这样的走法有8+7+6+5+4+3+2+1=36种。

4、有三次跨二级台阶,其余每次都跨一级台阶,这样的走法有(6+5++4+3+2+1)+(5+4++3+2+1)+(4+3+2+1)+(3+2+1)+(2+1)+1=56种。

5、有四次跨二级台阶,其余每次都跨一级台阶,这样的走法有36种。(算式略)

6、有五次跨二级台阶,其余每次都跨一级台阶,这样的走法有6种。

所以,一共有1+9+36+56+36+6=144种

二、归纳法

1、假如只有1级台阶,那么只有1种走法。

2、假如只有2级台阶,那么只有2种走法。

3、假如只有3级台阶,那么只有3种走法。

4、假如只有4级台阶,那么只有5种走法。

……

根据上面的假设,可以得到一个数列:

1 2 3 5 ……

分析可得:从第三项起,每项都是前两项的和,根据这个规律推算,第11项应该是144。

以上就是关于c语言上台阶答案全部的内容,包括:c语言上台阶答案、走11节台阶,每步走一级或两级有多少种走法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9786877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存