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 种走法。蠢历吵

这是一个斐波那契数列或悉,假设跳上 n (n >2) 级台阶有 F(n) 种跳法:

上1级台阶:直接跳上,跳法为1;

上2级台阶:先跳台阶1,再跳弯掘台阶2;或者直接跳上台阶2;跳法埋团核总共有2种;

上 n (n >2) 级台阶:有两种选择

(1)从台阶n-1,直接跳到台阶n;则跳法数 F(n - 1)

(2)从台阶n-2,直接跳到台阶n;则跳法数 F(n - 2)

故:F(n) = F(n - 1) + F( n - 2)

F(8) = 34

跳上 8 级台阶有 34 种跳法


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

原文地址: http://outofmemory.cn/yw/12429720.html

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

发表评论

登录后才能评论

评论列表(0条)

保存