首页 生白鼠问题

生白鼠问题

举报
开通vip

生白鼠问题 二.问题的分析 我们先根据题意直接推算。在第1月至第6月均只有1对白鼠;第7个月,白鼠生下1对小白鼠,共2对;第8个月,白鼠再生下1对小白鼠,共3对;第9个月,白鼠生下2对小白鼠,共5对……依次类推,根据小白鼠的成长、生育及死亡规律,易得出月份和白鼠对数的关系。又因为0 using namespace std; int f[40]; int m,n,k; int fun(int kk) { if (kk<1)//月份小于,当月诞生白鼠数量为 return 0; else if ...

生白鼠问题
二.问题的分析 我们先根据题意直接推算。在第1月至第6月均只有1对白鼠;第7个月,白鼠生下1对小白鼠,共2对;第8个月,白鼠再生下1对小白鼠,共3对;第9个月,白鼠生下2对小白鼠,共5对……依次类推,根据小白鼠的成长、生育及死亡规律,易得出月份和白鼠对数的关系。又因为0 using namespace std; int f[40]; int m,n,k; int fun(int kk) { if (kk<1)//月份小于,当月诞生白鼠数量为 return 0; else if (kk<7) if (kk==1)//第一月份诞生小白鼠数量为 return 1; else//第到月份,诞生小白鼠数量为 return 0; else//第个月以后诞生小白鼠的数量通过递归调用公式求得 if (m==1)//m=1的递推公式 return fun(kk-6)+fun(kk-7)+2*fun(kk-8); else//m=2的递推公式 return fun(kk-6)+fun(kk-7)+2*fun(kk-8)+2*fun(kk-9); } int sum(int kk) { if(kk<1)//月份小于,小白鼠总数为 return 0; else if (kk<7)//第到月份,小白鼠总数为 return 1; else//第月份以后,小白鼠的总数=上月的小白鼠总数+当月诞生的小白鼠数量-至今已诞生n个月应死亡的小白鼠数量,递归调用 if(kk-n<1)//没有白鼠死亡 return sum(kk-1)+f[kk]; else return sum(kk-1)+f[kk]-f[kk-n]; } void main() { cout<<"please enter n in range (9,13)"<>n; cout<<"please enter m in range (1,3)"<>m; cout<<"please enter k in range (0,37)"<>k; for(int i=1;i
本文档为【生白鼠问题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_757465
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:3
分类:理学
上传时间:2012-10-24
浏览量:17