[zz]母牛生牛问题解析
http://blog.csdn.net/lirincy/archive/2008/09/17/2944195.aspx
若一頭小母牛,從出生起第四個年頭開始每年生一頭母牛,按此規(guī)律,第n年有多少頭母牛?
由于這道題出現(xiàn) 在錢能的C++書籍當中,因此關(guān)于這道題的討論有很多:
http://topic.csdn.net/t/20031207/17/2537255.html
http://ks.cn.yahoo.com/question/1407041505424.html
但是很多論述和解答都不太正確,我綜合了一下各方的方案,經(jīng)過推導,給出如下解答:
對于母牛的數(shù)量,有如下數(shù)量關(guān)系:
時間(年)???? 1歲牛(頭)???? 2歲牛(頭)???? 3歲牛(頭)???? 4歲以及以上(頭)????? 母牛總數(shù)(頭)
1 ????????? 1 0 ?????????? 0??????????????????? 0???????????????????????????????? 1??
2 ????????? 0 1 ?????????? 0??????????????????? 0???????????????????????????????? 1??
3 ????????? 0 0 ???????????1??????????????????? 0???????????????????????????????? 1??
4 ????????? 1 0 ?????????? 0????????????????????1???????????????????????????????? 2?
5 ????????? 1 1 ?????????? 0????????????????????1?????????????????????????????????3?
6 ????????? 1 1 ???????????1????????????????????1?????????????????????????????????4??
7 ????????? 2 1 ???????????1????????????????????2?????????????????????????????????6??
8 ????????? 3 2 ???????????1??????????????????? 3?????????????????????????????????9?
9 ????????? 4 3 ???????????2????????????????????4???????????????????????????????? 13??
10 ??????????? 6 4 ???????????3????????????????????6???????????????????????????????? 19??
設 第N年的年齡為1的母牛為T1(N)只,依次,年齡為2、3以及4或以上的牛的個數(shù)分別為T2(N)、T3(N)、T4(N).
對于T(N+1), 有如下關(guān)系(具體邏輯很容易推導,請自行完成):
T1(N+1)=T3(N)+T4(N);
T2(N+1)=T1(N);
T3(N+1)=T2(N);
T4(N+1)=T3(N)+T4(N);
設F(N) 代表第N天的母牛,則有:
F(N) = T1(N)+T2(N)+T3(N)+T4(N)
???????? = T3(N-1)+T4(N-1)+T1(N-1)+T2(N-1)+T3(N-1)+T4(N-1)
???????? = F(N-1) + T3(N-1)+T4(N-1)
???????? = F(N-1) + T2(N-2)+T3(N-2)+T4(N-2)
???????? = F(N-1) + T1(N-3)+T2(N-3)+T3(N-3)+T4(N-3)
???????? = F(N-1) + F(N-3)
因此,如下的遞歸解法是正確的:
轉(zhuǎn)載于:https://www.cnblogs.com/bettermanlu/archive/2011/01/23/1942678.html
總結(jié)
以上是生活随笔為你收集整理的[zz]母牛生牛问题解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web developer tips (
- 下一篇: 人工智能、机器学习、深度学习的关系,终于