码迷,mamicode.com
首页 > 其他好文 > 详细

用面向对象的方式解决经典的“三月兔”的问题

时间:2015-08-20 01:18:28      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

  这是一个经典问题:有一对兔子,从出生后第三个月开始,每个月都生一对兔子,然后生出来的兔子也从出生第三个月开始每个月生一对兔子,假如兔子都不死,问每个月兔子总数是多少。

  这个问题其实是一个斐波纳切数列,主要考虑递归的用法,这道题的"标准答案"就是用递归的方式来解决:

技术分享

 

  然而,这么做其实并不是按面向对象的思路来解决的。这是先画出表格,然后找出数字的排列规律,然后再写公式。

  对于这种问题,我还是喜欢用面向对象的思路来解决它。

  如果要以面向对象的思路来做,应该写一个兔子的对象,然后根据它的繁殖规律进行繁殖,下面就是按照面向对象思路来解决这个问题:

技术分享

 

这样的话,不管这个兔子从第几个月开始生几只小兔子,都可以通过修改构造函数来解决了。

用面向对象的方式解决经典的“三月兔”的问题

标签:

原文地址:http://www.cnblogs.com/livterjava/p/4743833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!