乙隻青蛙一次可以跳上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...