最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【ROSALIND】【練Python,學生信】11 斐波那契數(shù)列與兔子繁殖問題之會死的兔子

2019-02-07 17:18 作者:未琢  | 我要投稿

如果第一次閱讀本系列文檔請先移步閱讀【ROSALIND】【練Python,學生信】00 寫在前面 ?謝謝配合~

題目:

根據(jù)斐波那契數(shù)列計算兔子的繁殖情況,兔子會死亡

Given: Positive integers n<100 and m<20.

所給:正整數(shù)n和m,n<100,m<20。

Return: The total number of pairs of rabbits that will remain after the n-th month if all rabbits live for m months.

需得:經(jīng)過n個月后共有多少對兔子,假設兔子的壽命為m個月。

?

測試數(shù)據(jù)

6 3

測試輸出

4

?

背景

斐波那契數(shù)列是以兔子繁殖為例子引入的數(shù)學式,推導中滿足的假設如下:

1.?????? 第一個月有一對新生兔子

2.?????? 出生后兔子需要再長一個月才可以繁殖,且之后每個月都會繁殖

3.?????? 每個月每對成年兔子可以生出一對小兔子

4.?????? 兔子都不會死,也不會停止繁殖

斐波那契數(shù)列體現(xiàn)了遞推的思想,滿足公式? ? ? ? ? ? ? ? ? ?

(F1=F2=1)

? ? ? ?自然界中很多現(xiàn)象體現(xiàn)斐波那契數(shù)列,如花瓣、莖葉排列等,在物理、化學等領(lǐng)域也多有應用。

?

思路

與原始的斐波那契數(shù)列相比,本題的變化是兔子經(jīng)過一定時間后會死亡,如下圖圖示:

兔子壽命為三個月時數(shù)量與月份的關(guān)系


圖中兔子只能活三個月,因此每個月需要減去三個月前出生的兔子。我以兔子開始死亡的第四個月為界限分為三個情況分別考慮:

第四個月以前,沒有兔子死亡,與原始的斐波那契數(shù)列相同;

第四個月,第一個月的一對兔子生下一對小兔子,其后死亡,從原數(shù)列中減去1;

第四個月后,每個月都在原數(shù)列中減去三個月前出生的兔子。

該方法可推廣為:

適用于任意m、n


代碼

i = 3

n = 6

m = 3

f = [0, 1, 1]

s = 0

while i <= n:

??? if i <= m:

??????? s = f[i-1] + f[i-2]

??? elif i == m+1:

??????? s = f[i-1] + f[i-2] - 1

??? elif i > m+1:

??????? s = f[i-1] + f[i-2] - f[i-m-1]

??? i += 1

??? f.append(s)

print(f[n])


【ROSALIND】【練Python,學生信】11 斐波那契數(shù)列與兔子繁殖問題之會死的兔子的評論 (共 條)

分享到微博請遵守國家法律
正安县| 泰和县| 金寨县| 航空| 涿鹿县| 定南县| 垦利县| 浏阳市| 类乌齐县| 福建省| 五大连池市| 游戏| 泗水县| 汕尾市| 武夷山市| 马尔康县| 彩票| 肥城市| 墨脱县| 丽水市| 宝应县| 桓仁| 石景山区| 田东县| 炎陵县| 阳高县| 慈溪市| 饶平县| 长宁区| 石景山区| 石首市| 惠来县| 乌兰浩特市| 平武县| 苍南县| 洞口县| 杂多县| 梧州市| 安仁县| 鄂托克旗| 九寨沟县|