青蛙跳台階

2021-10-09 12:35:31 字數 685 閱讀 9932

關於青蛙跳台階的問題,我們可以得出一些更加深層次的問題。
遇到問題先不要著急去寫**,要先去看看該問題是屬於何種問題。首先來認識到青蛙跳台階的問題,先分析一下,

青蛙跳0階有1種方法,我們記作f(0)=1;

青蛙跳1階有1種方法,記作f(1)=1;

跳兩階有2種方法,f(2)=2;

跳三階有3種方法,f(3)=3;

以此類推,我們可以發現,其實青蛙跳台階也是一種有規律性的,這種規律我們稱之為,斐波那契數列(fibonaccisequence),只不過,斐波那契數列的前幾位為0,1,1;青蛙跳台階的前幾位為1,1,2;所以,我們就可以將青蛙跳台階的問題轉化為斐波那契數列 問題:

遞迴肯定是最簡單,最容易理解的方法,直接上函式;

int

fib(

int n)

但是遞迴方法存在乙個問題,就是當n值比較大的時候,會超時,這樣得不償失;因此,我的解決方法是打表。

打表,就是先將所有值計算出來儲存在陣列中,然後需要的時候直接索引就得出了值。上**:

long

long

fib(

int n)

return a[n]

;}

為什麼要用long long ,因為可能會超範圍值。

青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...

青蛙跳台階

之前面試遇到了這種題目,不會,後來搜尋了一下,感覺分析的很好 青蛙跳乙個n階的台階,每次可以跳1階或者2階,求跳完n階y有多少種方法。分析 n 1,f n 1 n 2,f n 2 n 3,f n 3 n 4,f n 5 可以發現 f n f n 1 f n 2 由此也可以推想 比如要跳到第4階樓梯上...

青蛙跳台階

難易程度 中等 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。在不考慮青蛙健康狀況的情況下 求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 在本題的描述中,青蛙的行動只有兩種可能 一次跳乙個台階或者兩個台階,設n階台階的跳法為 f n 如果第一次跳了一階,那麼剩下的n 1階的跳法為f n...