題目:給定乙個有n個台階的樓梯,乙個人從下到上開始跳台階,這個人有兩種跳的方式:一次跳乙個台階,一次跳兩個台階;
問:從台階底端跳到台階頂端,有多少種跳台階的方式?
分析:首先我們考慮最簡單的情況。如果只有1個台階,那麼顯然只有一種跳法;如果是2級台階,那麼有2種跳法。對於乙個有n級台階的樓梯來說,我們設跳法為 f(n) ,假如我們先跳1個台階,則剩下有 n-1 個台階,跳法為 f(n-1) 次,假如我們先跳2個台階,則剩下 n-2 階,跳法為 f(n-2);由此可以推出,對於乙個n階的樓梯,有以下這個跳台階的公式:
**如下:
#include using namespace std;
int jumpstep(int n)
int main()
int jumpstep3(int n)
int main()
{ cout<
跳台階問題
題目 乙個台階總共有n級,如果一次可以跳1級,也可以跳2級。求總共有多少總跳法,並分析演算法的時間複雜度。分析 這道題最近經常出現,包括microstrategy等比較重視演算法的公司都曾先後選用過個這道題作為面試題或者筆試題。首先我們考慮最簡單的情況。如果只有1級台階,那顯然只有一種跳法。如果有2...
跳台階問題
有n個階梯,青蛙一次可以跳乙個或者兩個,求總共有多少種跳法可以到達頂端?思路 如果只有一階,那麼只有一種跳法 如果有2階,那麼有2中跳法 跳1階再跳1階,一次跳2階 那麼如果有n階呢?假設對於n階的階梯,我們有f n 中跳法 那麼n階時,我們考慮如果第一次跳共有兩種選擇 第一次跳了1階,剩下n 1階...
跳台階問題
解題 比較傾向於找規律的解法,f 1 1,f 2 2,f 3 3,f 4 5,可以總結出f n f n 1 f n 2 的規律,但是為什麼會出現這樣的規律呢?假設現在6個台階,我們可以從第5跳一步到6,這樣的話有多少種方案跳到5就有多少種方案跳到6,另外我們也可以從4跳兩步跳到6,跳到4有多少種方案...