黑马程序员技术交流社区

标题: 神兔子 可恶的小兔子问题0.0 [打印本页]

作者: MMM521    时间: 2017-4-1 22:53
标题: 神兔子 可恶的小兔子问题0.0
不死神兔问题:
有一对兔子,从出身后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第20个月兔子的对数为多少?   这问题有些困惑,谁讲解一下过程  ,怎么算的兔子,不要答案要过程,谢谢,  我还感觉题目有点歧义0.0
作者: 785026612    时间: 2017-4-1 23:39
你可以把兔子当成对象,并装入集合,集合有4个,每个集合都他的特点,都随着时间在变化,我们把变化所需要的时间设为1,及等价一个月,第一个集合,他每过一个时间,会把里面对象全部复制给集合2,而集合2中对象会复制给集合3,集合3会复制给集合4,集合4会复制给集合1,这个集合必须是list子类,(我在下面说明)

作者: 785026612    时间: 2017-4-1 23:43
集合1对象代表可以生的兔子,集合2对象代表刚刚生下来,3个月后可以生的兔子,集合3代表。。。集合4代表一个月可以生的兔子,所以一个月后集合4就可以生,都跑集合1去了(下面继续说明)

作者: 785026612    时间: 2017-4-2 00:02
除了集合1,其他集合赋值后,原集合清空,因为能生的兔子一直能生,又不会屎,所以集合一数目不变,其他兔子会长大,长大了就不属于这个集合了,把上面写成方法,输入参数为月份,进行循环,循环次数为月份数,直到你不想他生了,当然了,要是你觉得麻烦,就把上面变化写一次,然后递归,可以在return那写个3元运算符,月份为不为0,调用自身,月份为0,返回所有集合里面兔子的个数,相当于一对是一个对象哦,你写写看,只是一个思路,我也没写过,你可以试试看

作者: 预料中的意外    时间: 2017-4-2 01:25
看规律吧,然后根据规律写

作者: zylheima    时间: 2017-4-3 12:54
1 1 2 3 5 8 13 21……n

作者: xiaomilu    时间: 2017-4-3 14:37
画图 画出前5个月的 很容易就能找出规律了
作者: 小麦芽    时间: 2017-4-4 11:43
小美,整天兔子来兔子去的,不就要黑马币吗?能弄点专业的不?
作者: 怕翻船的特修斯    时间: 2017-4-5 17:02
斐波那契数列,找到规律就好写了
作者: g1336855116    时间: 2017-4-5 23:10
找到规律就好多了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2