費事數列 我的理解

2022-10-10 23:06:09 字數 1044 閱讀 6862

一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞迴演算法實現。

view code

public

class

mainclass

public

static

intfoo(

inti)

}

第乙個月有一對剛誕生的兔子  第兩個月之後它們可以生育  每月每對可生育的兔子會誕生下一對新兔子  兔子永不死去  假設在n月有新生及可生

育的兔子總共a對,n+1月就總共有b對。在n+2月必定總共有a+b對:因為在n+2月的時候,所有在n月就已存在的a對兔子皆已可以生育並誕下a對後

代;同時在前一月(n+1月)之b對兔子中,在當月屬於新誕生的兔子尚不能生育。  斐波那契數列又因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,

故又稱為「兔子數列」。 

我在紙上畫了半天也沒能理解,於是我就把兔子換成了人。

(數列中的第乙個1為張先生,第二個1為張先生娶了李小姐,2為他們結婚了,3為第一年)

第一年 :張+李=趙(張先生和李小姐生了個兒子叫趙,於是乎一共就有了3口人)

第二年:張+李=錢,趙+朱(張先生和李小姐生了個兒子叫錢,他們第一年生的兒子娶了個老婆叫朱,一共5口人)

第三年:張+李=孫,趙+朱=魯,錢+樂(張先生和李小姐生了個兒子叫孫,趙先生和朱小姐生了個兒子叫魯,錢先生娶了個老婆叫樂一共8口人)

第四年:張+李=周,趙+朱=韋,錢+樂=計,孫+梅,魯+丁(張先生和李小姐生了個兒子叫周,趙先生和朱小姐生了個兒子叫韋,錢先生和樂小姐生了個兒子叫計,孫前生娶了個老婆叫梅,魯先生娶了個老婆叫丁,一共13口人)

第五年:張+李=吳,趙+朱=昌,錢+樂=於,孫+梅=芮,魯+丁=寧,周+葉,韋+聞,計+溫(張先生和李小姐生了個兒子叫吳,趙先生和朱小姐生

了個兒子叫昌,錢先生和樂小姐生了個兒子叫于,孫先生和梅小姐生了個兒子叫芮,魯先生和丁小姐生了個兒子叫寧,周先生娶了個老婆叫葉,韋先生娶了個老婆

聞,計先生娶了個老婆叫溫,一共21口人)

這樣理解我就能理解上面的演算法實現了

對兔子數列的理解

斐波那契在1202年寫成了著作 計算之術 中提出了這樣乙個問題 在第乙個月有一對剛出生的小兔子,在第二個月小兔子變成大兔子並開始懷孕,第三個月大兔子會生下一對小兔子,並且以後每個月都會生下一對小兔子。如果每對兔子都經歷這樣的出生 成熟 生育的過程,並且兔子永遠不死,那麼兔子的總數是如何變化的?通過下...

我理解的遞迴

1.在遞迴呼叫工作棧建立之後,各層遞迴所涉及到的變數都已經壓入到棧中,每次呼叫一次函式,系統記憶體機制就會以棧的方式分配該遞迴函式所需的記憶體空間,同時,每層函式得出的結果會暫時儲存在這個棧的空間中 2.當整個遞迴函式在遇到已if 為標誌的條件結束標誌的時候,函式不需要繼續執行該函式,系統停止記憶體...

我理解的原型

js中幾大疑難雜症 原型 通常提到原型都會提到繼承 我覺得原型就是為了繼承啊 比如你想給你 裡的乙個物件擴充套件乙個通用的方法 就可以寫成 array.prototype.func function 這樣就給陣列物件新增了乙個func方法 這樣 var arr 1,2,3 arr.func 就跟陣列...