跳台階問題

來源:互聯網
上載者:User

標籤:name   std   main   方法   code   color   space   ...   str   

一個台階總共有n級,如果一次可以跳1級,也可以跳2級,求總共有多少種跳法。

問題分析:

 

1 f(n) = f(n-1)= 1 n=1 2 f(n) = 1+1 = 2 n=2 當第一次跳一個台階時,有一種方法,當第一次跳兩個台階時有一種方法 3 f(n) = 2+1 =3 n=3 當第一次跳一個台階時有f(3-1)中方法,當第一次跳兩個台階時有f(3-2)中方法 4 因此,5 f(n) = f(n-1)+f(n-2) n>2 
 1 //跳台階問題 2 /** 3     一個台階總共有n級,如果一次可以跳1級,也可以跳2級,求總共有多少種跳法。 4 */ 5  6 #include <iostream> 7  8  9 using namespace std;10 11 #define NUM 212 int steps[NUM] = {1, 2};13 14 15 int calPermNum(int num)16 {17     if(num == 1)18         return 1;19     else if(num == 2)20         return 2;21     else22         return calPermNum(num -1) + calPermNum(num - 2);23 }24 25 int main()26 {27     cout << calPermNum(3) << endl;28     return 0;29 }

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

 1 f(n) =f(n-1)= 1 n=1  2  3 f(n) = 1+1 = 2 n=2 當第一次跳一個台階時,有一種方法,當第一次跳兩個台階時有一種方法  4  5 f(n) = 2+1 =3 n=3 當第一次跳一個台階時有f(3-1)種方法,當第一次跳兩個台階時有f(3-2)種方法,當第一次跳3個台階時有1種跳法  6  7 因此  8  9 f(n) = f(n-1)+f(n-2)+......f(1)+1種跳法10 f(n-1) = f(n-2)+f(n-3)+.....f(1)+111 f(n)-f(n-1)=f(n-1)12 所以f(n) = 2*f(n-1)  n>2 
 1 //跳台階2 2 //一隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的台階總共有多少種跳法。 3 #include <iostream> 4  5 using namespace std; 6  7 #define NUM 2 8 int steps[NUM] = {1, 2}; 9 10 11 int calPermNum(int num)12 {13     if(num == 1)14         return 1;15     else if(num == 2)16         return 2;17     else18         return 2*calPermNum(num-1);19 }20 21 int main()22 {23     cout << calPermNum(5) << endl;24     return 0;25 }

 

跳台階問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.