目錄
乙隻青蛙一次可以跳1級或2級台階,求當台階數為n時青蛙有多少種跳法。
台階的數量為n。
當 n = 1 時,青蛙有一種跳法,即跳1級台階。
當 n = 2 時,青蛙有兩種跳法,即跳兩次1級台階或跳一次2級台階。
當 n = 3 時,青蛙可以先跳2級台階再跳1級台階,也可以選擇先跳1級台階再跳2級台階,或者是跳三次1級台階。依次類推,我們就能知道台階數為n時青蛙的跳法。
但是,這樣子是不是很麻煩呢,再仔細想一下。
還是當 n = 3 時,我們選擇先跳1級台階,剩下的2級台階的跳法,是不是就是當 n = 2 ngfpxxrpt時青蛙的跳法;我們選擇先跳程式設計客棧2級台階,剩下的1級台階的跳法,是不是就是當 n = 1 時青蛙的跳法。
由此可知,n = 3 時青蛙的跳法為 n 程式設計客棧= 1 時的跳法加上 n = 2 時的跳法。
當 n = n 時,n個台階的跳法為 n-1 的跳法加上 n-2 的跳法。
乍一看,是不是感覺和斐波那契數列有點像,當然,還是有一丟丟不一樣的,不過我們可以用同樣的數學思想來解決這個問題。
#define _crt_secure_no_warnings 1
#include
int flog(int n)
int main()
孤寡 孤寡 孤寡
青蛙跳台階問題(C語言)
題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。題目分析 分析思路 青蛙對每級台階可選擇過或者不過 換個角度來看,題目的問題等價於,青蛙現在在起點n 0處。目標是n n處。那麼經過序號1,2,3 n 1層台階。對於每一層台階,都可...
遞迴求解青蛙跳台階問題
1.乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階,問這個青蛙跳上n級台階一共有多少種跳法 思路一 和漢諾塔一樣,遞迴的思路就是把問題簡化到更小規模的問題,在寫程式的時候確定兩個目標。一是如何分解乙個問題,二是當該問題分解到最簡時如何處理,將這兩塊內容通過程式告訴電腦,就可以把任務推給電腦,由電腦...
青蛙跳台階問題
題目 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。我的思路 最開始我的思路是把這個看成是乙個數學問題,n i 1 k 2先把所有可能滿足這個公式的i和k求出來。然後在對i和k做排列組合。很明顯i的範圍應該是0 public int jumpflo...