用面向对象的方式解决经典的“三月兔”的问题
这是一个经典问题:有一对兔子,从出生后第三个月开始,每个月都生一对兔子,然后生出来的兔子也从出生第三个月开始每个月生一对兔子,假如兔子都不死,问每个月兔子总数是多少。
这个问题其实是一个斐波纳切数列,主要考虑递归的用法,这道题的"标准答案"就是用递归的方式来解决:
然而,这么做其实并不是按面向对象的思路来解决的。这是先画出表格,然后找出数字的排列规律,然后再写公式。
对于这种问题,我还是喜欢用面向对象的思路来解决它。
如果要以面向对象的思路来做,应该写一个兔子的对象,然后根据它的繁殖规律进行繁殖,下面就是按照面向对象思路来解决这个问题:
这样的话,不管这个兔子从第几个月开始生几只小兔子,都可以通过修改构造函数来解决了。
如果大家有看到我写的不完善的地方还希望不吝赐教啊