日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[zz]母牛生牛问题解析

發布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [zz]母牛生牛问题解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/lirincy/archive/2008/09/17/2944195.aspx

若一頭小母牛,從出生起第四個年頭開始每年生一頭母牛,按此規律,第n年有多少頭母牛?
由于這道題出現 在錢能的C++書籍當中,因此關于這道題的討論有很多:

http://topic.csdn.net/t/20031207/17/2537255.html

http://ks.cn.yahoo.com/question/1407041505424.html

但是很多論述和解答都不太正確,我綜合了一下各方的方案,經過推導,給出如下解答:

對于母牛的數量,有如下數量關系:

時間(年)???? 1歲牛(頭)???? 2歲牛(頭)???? 3歲牛(頭)???? 4歲以及以上(頭)????? 母牛總數(頭)
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或以上的牛的個數分別為T2(N)、T3(N)、T4(N).

對于T(N+1), 有如下關系(具體邏輯很容易推導,請自行完成):

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)

因此,如下的遞歸解法是正確的:

  • int???GetCount(int???age)???
  • {???
  • ????????if(age==0)???
  • ????????{?????
  • ???????????????return?0;???
  • ????????}???
  • ????????else???
  • ????????{???
  • ???????????????if(age<4)???
  • ???????????????{???????
  • ?????????????????????return?1;???
  • ???????????????}???
  • ????
  • ???????????????return?(GetCount(age-1)+GetCount(age-3));???
  • ?????????}???
  • }??

  • 轉載于:https://www.cnblogs.com/bettermanlu/archive/2011/01/23/1942678.html

    總結

    以上是生活随笔為你收集整理的[zz]母牛生牛问题解析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。