青蛙跳台階問題

2021-09-10 23:09:16 字數 1101 閱讀 1093

題目一:

乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個n級的台階總共有多少種跳法?

思路:

最後一跳有兩種情況

1.跳兩級台階,則前面有 f(n-2)種跳法

2.跳一級台階,則前面有f(n-1)種跳法

則一共有 f(n) = f(n-1) + f(n-2)種跳法

依次往前遞迴

只需知道 f(1) 和 f(2) 的值即可

易知 f(1) = 1 , f(2) = 2

**實現:

遞迴實現:

#includeint fun(int n)	//遞迴函式

int main()

迴圈實現:

#includeint main()

題目二:

乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。

思路:

*也和題目一一樣討論

最火一跳可以跳1,2,3,4·····n

1.當跳 1 時:前有 f(n-1)

2.當跳 2 時:前有 f(n-2)

3.當跳 3 時:前有 f(n-3)

·············

n.當跳 n 時:前有 f(0) = 1

所以: f(n) = f(n-1) + f(n-2) + ····+ f(2) + f(1) + f(0)

f(n-1) = f(n-2) + ····+ f(2) + f(1) + f(0)

可以推出:f(n) = 2f(n-1)

***實現:

迴圈實現:

#includeint main()

遞迴實現:

#includeint fun(int n)

int main()

青蛙跳台階問題

題目 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。我的思路 最開始我的思路是把這個看成是乙個數學問題,n i 1 k 2先把所有可能滿足這個公式的i和k求出來。然後在對i和k做排列組合。很明顯i的範圍應該是0 public int jumpflo...

青蛙跳台階問題

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?分析 1 當n 1,只有1中跳法 當n 2時,有兩種跳法 當n 3 時,有3種跳...

青蛙跳台階問題

問題一 有乙隻青蛙,需要跳上100級台階。青蛙每次可以調一級或者兩級台階。問青蛙有多少種方式可以跳100級台階。思路 逆推 當青蛙站在100級台階上時,那它跳上100級時有可能是從99級跳一級上來的,也可能是從98級跳兩級跳上來的 從98級跳兩個一級包括在從99級跳一級情況內,所以不予考慮 所以f ...