青蛙跳台階問題

2022-05-08 20:57:15 字數 634 閱讀 8747

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

思路:這個問題歸根結底還是乙個費布拉奇數列,設跳法為f(n),則當青蛙第一次跳一級台階時,剩下n-1個台階,有f(n-1)種跳法,當青蛙第一次跳二級台階時,剩下n-2個台階,有f(n-2)種跳法。

故得到數學關係:f(n) = f(n-1) + f(n-2);

第一種:遞迴實現

int f(int n)  {    

if (n == 1 || n == 2

)    

return n;  

else  

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

第二種:非遞迴實現

public static int calc3(int n) {    

if (n == 1 || n == 2)  

return n;    

int s1 = 1, s2 = 2, s3 = 1;  

for (int i = 3; i <= n; ++i) {    

s3 = s1 + s2;    

s1 = s2;    

s2 = s3;    

return s3;    

青蛙跳台階問題

題目 乙隻青蛙一次可以跳上 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 ...