A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MMM521 中级黑马   /  2017-4-1 22:53  /  1321 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

不死神兔问题:
有一对兔子,从出身后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第20个月兔子的对数为多少?   这问题有些困惑,谁讲解一下过程  ,怎么算的兔子,不要答案要过程,谢谢,  我还感觉题目有点歧义0.0

评分

参与人数 1黑马币 +2 收起 理由
噜噜吧 + 2 淡定

查看全部评分

9 个回复

倒序浏览
你可以把兔子当成对象,并装入集合,集合有4个,每个集合都他的特点,都随着时间在变化,我们把变化所需要的时间设为1,及等价一个月,第一个集合,他每过一个时间,会把里面对象全部复制给集合2,而集合2中对象会复制给集合3,集合3会复制给集合4,集合4会复制给集合1,这个集合必须是list子类,(我在下面说明)
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
集合1对象代表可以生的兔子,集合2对象代表刚刚生下来,3个月后可以生的兔子,集合3代表。。。集合4代表一个月可以生的兔子,所以一个月后集合4就可以生,都跑集合1去了(下面继续说明)
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
除了集合1,其他集合赋值后,原集合清空,因为能生的兔子一直能生,又不会屎,所以集合一数目不变,其他兔子会长大,长大了就不属于这个集合了,把上面写成方法,输入参数为月份,进行循环,循环次数为月份数,直到你不想他生了,当然了,要是你觉得麻烦,就把上面变化写一次,然后递归,可以在return那写个3元运算符,月份为不为0,调用自身,月份为0,返回所有集合里面兔子的个数,相当于一对是一个对象哦,你写写看,只是一个思路,我也没写过,你可以试试看
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
看规律吧,然后根据规律写
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
画图 画出前5个月的 很容易就能找出规律了
回复 使用道具 举报
小美,整天兔子来兔子去的,不就要黑马币吗?能弄点专业的不?
回复 使用道具 举报
斐波那契数列,找到规律就好写了
回复 使用道具 举报
找到规律就好多了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马