题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
我没学过斐波那契数列,所以我用的另一种方式,没有用递归,这题对我而言主要难在寻找兔子出生的规律。
每只兔子都在第三个月生下一只兔子,所以我把它们的生命历程分成了三个阶段:幼崽、成年期、繁殖期,第一个月是幼崽时期,第二个月是成年期,到了下一个月就开始繁殖,也就是繁殖期。
幼崽期的的兔子表示为‘0’,成年期表示为‘1’,如果有 a 个成年期的兔子,那么下一个月就会有 a 个幼崽期的兔子,这样就很直观了。为了更好的区别,成年的兔子用 a 表示,幼崽期的兔子用 b 表示。
0
1
1 0
1 1 0
1 1 1 0 0
1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0