生小兔问题
生小兔問題🐰
本文研究生小兔問題。使用代數模型,在考慮生育情況變化的情況下,求解兔子/白鼠的數目變化。
第1章 問題重述
生小兔問題 兔子出生后能夠存活12個月,從第7月開始生小兔,7、8兩月每對兔子生1對小兔/月,9、10兩月每對兔子生2對小兔/月,然后停止生育,在第12月末死亡。設開始時有1對剛出生的小兔,問第k月有多少對兔子?
2002年ACM某題 一種實驗用白鼠出生后總共存活n個月(9<n<13,n∈N)(9<n<13,\ n\in N)(9<n<13,?n∈N),從第7個月后就開始生小白鼠,在第7、8兩月每一對白鼠生1對小白鼠/月,從第9個月起的m個月內每一對白鼠生2對小白鼠/月(0<m<3,m∈N)(0<m<3,\ m\in N)(0<m<3,?m∈N),然后停止生育,在n月末死亡(n月白鼠數量還計算在內)。在實驗室環境中可以舒適地生存100對白鼠,每個月先計算從上個月存活下來的白鼠,當某月從上個月存活下來的白鼠數量超過100對時,該月出生的小白鼠將被轉移到別的實驗室被轉移到別的實驗室。設開始時有1對剛出生的小白鼠,問第k月有多少對白鼠(0<k<37,k∈N)(0<k<37,\ k\in N)(0<k<37,?k∈N)?
第2章 模型搭建
Matlab 編程實現
function r = Rat(n, m, k, mov) % n:總共存活的月數 % m:第9個月起的m個月內生2只白鼠/兔子 % k:k月的白鼠/兔子對數 % mov:是否將小鼠轉移 if nargin<4mov = 1; end A = [zeros(1, n); eye(n)]; A(n+1,:) = []; A(1,6:7) = 1; A(1,8:8+m-1) = 2; x = (zeros(1, n))'; x(1) = 1; for i=2:kr = sum(x);x = A*x;if mov && r>100x(1) = 0;end end r = sum(x);Sylvan ??
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
 
                            
                        - 上一篇: 【剑指offer】面试题22:链表中倒数
- 下一篇: js获取html样式属性,js怎么获取指
