斐波那契數列一直是個頭疼的問題,總是理不清思路。
希望看完這篇文章之后會對你有幫助。
什么是斐波那契數列 :
答: 斐波那契數列,又稱黃金分割數列、因數學家列昂納多·斐波那契(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);

