爬台階 遞迴

2021-08-15 04:37:48 字數 512 閱讀 9051

先說一下遞迴的作用:

1.替代多重迴圈

2.解決本來就是遞迴形式定義的問題

3.將問題分解為規模更小的子問題進行求解

這裡是將問題分解為規模更小的子問題進行求解

先考慮第一步怎麼做,根據第一步把問題分為幾大類,剩下的事情就變成乙個子問題,這個子問題可能是形式相同但規模更小,就可以寫出遞推式,再寫出邊界條件,就ok了๑乛◡乛๑

n級台階的走法:先走一級後,n-1級台階的走法+先走兩級後,n-2級台階的走法

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

邊界條件:

n<0  0 或n=0  1 或n=1  1

n=0  0    n=1  1    n=2   2

#include #include using namespace std;

int f(int n)

int main()

return 0;

}

爬台階問題

跳台階問題 乙個台階總共有n級,如果一次可以跳1級,也可以跳2級。求總共有多少總跳法,並分析演算法的時間複雜度。在這個跳樓梯的題目中,每次可以跳1個台階或者2個台階。我們考慮,我們是如何跳到n這個台階的,一共有兩種方式,一種是從n 1台階跳乙個台階,另外一種是從 n 2跳2個台階,所以 f n f ...

3 頑猴爬台階

一天乙隻頑猴想要從山腳爬到山頂途中經過乙個有n個台階的階梯,但是這個猴子有個習慣,每一次只跳1步或3步。試問?猴子通過這個階梯有多少種不同的跳躍方式 輸入描述 輸入只有乙個這個數n 0 輸出描述 有多少種跳躍方式 例項 輸入 50 輸出 122106097 輸入 3 輸出2 檢視 import j ...

遞迴之台階問題

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。當n 1時,次數f n 1。當n 2時,次數f n 2。11或2 當n 2時,當前一步可以跳一級,也可以跳兩級,次數f n f n 1 f n 2 public int jumpfloor int number...