2021 02 04 第一年農場有1只成熟的母牛A,往後的每年 每乙隻成熟的母牛都 如何解答呢?

時間 2021-06-06 11:14:20

1樓:

essentially the same program as @ClefRybak 's, but in Aldor.

#include "aldor"

#include "aldorio"

import from MachineInteger;

n : MachineInteger := 100;

cows : Array Integer := new n;

cows.0 := 1;

calves : Array Integer := new n;

calves.0 := 0;

for (i : MachineInteger) in 1..(n-1) repeat

import from Integer, Array Integer;

l: Array Integer := [ cows.i + calves.i for i in 0..(n-1) ];

stdout << l << newline;

順帶,用 Axiom 寫的版本

cows(1) == 1

cows(n) == calvs(n-3) + cows(n-1)

calvs(n) == if n < 1 then 0 else (calvs(n-1) + cows(n-1))

total(n) == cows(n)+ calvs(n)

Aldor 沒有 mutual recursive function (至少不是編譯到 lisp 就沒有,能過編譯但會 seg fault),不過有 GOTO(

2樓:Perplexboy

由題意,由於每只母牛需要三年才能生小牛,因此如果乙隻母牛是某年生出來的,則這只母牛在該年後的第四年才會生小牛。於是不難發現每一年牛的數量都是上一年和上第四年牛數量的總和。於是可設第 年母牛總數為 ,則有遞推公式

其中 ,,且由題意不難算出

, , ,

有遞推公式,知其特徵方程為

利用軟體(或費拉里方法)進行計算,發現這個方程具有兩個互異實根,記為 和 ,以及一對共軛復根,記為 和

則 可以表示為

其中 為待定係數,將 代入上式,得到關於係數的四元一次方程組解此四元一次方程組就能得到係數 的值,進而得到的顯示表示式。

由上可以知道 的顯示式表示式確實能求出來,但顯然十分複雜。如果僅從程式演算法的角度出發,那麼根據遞推式程式設計應該是比較容易的。

3樓:

因為標籤是演算法,由以上遞推公式可算得,通項公式可以用正經方法求,表示式可能很複雜,粗算了 的通項公式要解五次方程,似乎沒有解析解。不知道求 有沒有取巧的辦法

cows = [1]

calves = [0]

for i in range(100):

print([c[0] + c[1] for c in zip(cows, calves)])

前100項

[1, 2, 3, 4, 6, 10, 17, 28, 45, 72, 116, 188, 305, 494, 799, 1292, 2090, 3382, 5473, 8856, 14329, 23184, 37512, 60696, 98209, 158906, 257115, 416020, 673134, 1089154, 1762289, 2851444, 4613733, 7465176, 12078908, 19544084, 31622993, 51167078, 82790071, 133957148, 216747218, 350704366, 567451585, 918155952, 1485607537, 2403763488, 3889371024, 6293134512, 10182505537, 16475640050, 26658145587, 43133785636, 69791931222, 112925716858, 182717648081, 295643364940, 478361013021, 774004377960, 1252365390980, 2026369768940, 3278735159921, 5305104928862, 8583840088783, 13888945017644, 22472785106426, 36361730124070, 58834515230497, 95196245354568, 154030760585065, 249227005939632, 403257766524696, 652484772464328, 1055742538989025, 1708227311453354, 2763969850442379, 4472197161895732, 7236167012338110, 11708364174233842, 18944531186571953, 30652895360805796, 49597426547377749, 80250321908183544, 129847748455561292, 210098070363744836, 339945818819306129, 550043889183050966, 889989708002357095, 1440033597185408060, 2330023305187765154, 3770056902373173214, 6100080207560938369, 9870137109934111584, 15970217317495049953, 25840354427429161536, 41810571744924211488, 67650926172353373024, 109461497917277584513, 177112424089630957538, 286573922006908542051, 463686346096539499588, 750260268103448041638]

去日本讀大學第一年的10萬夠麼(第一年不打算打工,先鞏固學習和日語學習)

清河 絕對不夠!如果你第一年來不用上語言學校的話應該是國內推薦過來的私立大學吧如果是這樣的話差不多第一年學費是 70 100萬日元左右 合人民幣5W 7W左右 入學金25 35萬日元左右 合人民幣1.6W 2.3W 這樣加起來就快十萬人民幣了當然如果你讀的是藝術專業那就在這個基礎上再翻個倍 而日本的...

如何熬過獵頭的第一年。?

不亦樂乎 如果僅僅用熬這個字的話,個人認為索性不如退出這個行業,因為職場有無數種選擇,沒必要在獵頭行業死磕。接到Case能夠讓你熱血沸騰,為了拿到佣金能夠讓你魂牽夢縈,人選面試落榜會讓你為之惋惜跺腳,明明知道這些都是常態但仍然控制不住自己,這就不是熬。 高階的小怪獸 進入獵頭行業四個月,換了兩家公司...

高中第一年贊同談戀愛嗎

知乎使用者 一定不可以!前提是你們學校不是特別好的學校,你可以高二下期談戀愛,但是如果你們學校好,那高中三年就真的不要談戀愛了,高一談戀愛真的懵裡懵懂什麼都不知道,可能覺得他送你一些小玩意你就覺得他喜歡你,後面你越來越喜歡的時候,他也就失去了新鮮感,那你高一一年沒學習了,還因為失戀而喪失生活鬥志,那...