斐波那契數列衍生 求青蛙跳台階

2021-08-03 23:30:11 字數 888 閱讀 2809

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

n = 1, 1種方法(一次1級台階)

n = 2, 2( 兩次1級, 或者一次2級 )

n = 3, 3( 三次1級, 或一次1級一次2級(順序不同,兩個方法) )

n = 4, 5( 四次1級, 或兩次二級, 或兩次一級一次兩級(順序不同,三種方法) )

我們通過 台階數為4來分析。 青蛙一次只能跳一級或者兩級

也就是說: 青蛙跳上四級台階最後一跳只有兩種情況,跳一級或者跳兩級,所以青蛙跳四級台階總的方法數字: 青蛙跳至只剩一級台階和只剩兩級台階的方法數之和

多寫幾種情況,可以發現規律,方法數為 前一次方法數 + 後一次方法數

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

自頂向下的解法:

public

static

intjumpfloor(int number)

自底向上的解法:動態規劃的思想

/**

*@param jumparray 存放每一步的跳法(最優解)

*@param number 陣列的長度

*@return

*/public

long

jumpfloor(long jumparray,int number)

return jumparray[number-1];

}

方法三:

public

intjumpfloor(int number)

return result;

}

青蛙跳台階(斐波那契數列應用)

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?問題1 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個...

斐波那契數 青蛙跳台階

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?分析 1 當n 1,只有1中跳法 當n 2時,有兩種跳法 當n 3 時,有3種跳...

C 實現斐波那契數列 青蛙跳台階

題目 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的前n項。斐波那契數列的定義如下 1 方法1 迴圈的實現方法 include using namespace std int main int main int num 50 int data new int num memset dat...