在博客园上看到一位园友在讨论奶牛问题的算法,地址:http://www.cnblogs.com/jiny-z/archive/2007/08/07/846019.html
奶牛问题:
一只刚出生的小牛,4年后生一只小牛,以后每年生一只。
现有一只刚出生的小牛,问20年后共有牛多少只?
这位园友是用递归实现的,我却想到实际上可以通过创建奶牛对象,赋给它们生小牛的方法,然后让它们自己去“生”,于是实现代码如下,代码是JavaScript写的:
我在推算过程中,发现奶牛的数量增长是有规律的,这个规律和斐波那契数列很像,所以如果只是为了得到数值而忽略掉业务逻辑方面的东西,那么代码可以直接写成: