斐波那契數列一直是個頭疼的問題,總是理不清思路。
希望看完這篇文章之后會對你有幫助。
什么是斐波那契數列 :
答: 斐波那契數列,又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。
指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……
題目:有個人想知道,一年之內一對兔子能繁殖多少對?於是就築了一道圍牆把一對兔子關在里面。已知一對兔子每個月可以生一對小兔子,而一對兔子從出生后第3個月起每月生一對小兔子。假如一年內沒有發生死亡現象,那么,一對兔子一年內(12個月)能繁殖成多少對?
已知兔子的規律為數列: 1,1,2,3,5,8,13,21...
答:首先我們得知道這道題的需求和步驟
需求:一個數列當前項等於前兩項之和。求第12項。
步驟:
1.定義三個變量,然后兩個初始化值。第三個作為存儲使用
2.先把第二個變量存儲進入第三個變量匯總,第二個變量重新賦值成為第一個和第二個之和
3.把存儲好的第三個變量賦值給第一個變量。
4.執行12次(因為前兩項不需要計算,所以只需要執行10次)。
解析:
1.定義三個變量,然后兩個初始化值。第三個作為存儲使用
我們可以把這個數列想象成推箱子游戲
2.先把第二個變量存儲進入第三個變量中
然后把第二個變量重新賦值成為第一個和第二個之和。
3.把存儲好的第三個變量賦值給第一個變量。
以此類推到最后一項
利用for循環 代碼如下:
//1.定義三個變量,然后兩個初始化值。第三個作為存儲使用 var temp; var num1 = 1; var num2 = 1; //2.先把第二個變量存儲進入第三個變量匯總,第二個變量重新賦值成為第一個和第二個之和 for(var i=1;i<=10;i++){ temp = num2; num2 = num1 + num2; //3.把存儲好的第三個變量賦值給第一個變量。 num1 = temp; //4.執行10次。(因為前兩項不需要計算,所以只需要執行10次) } alert(num2);