[递归]母牛的故事

先来看一下题目怎么说:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?(0

这些母牛也是真能生的,不过难道只有一头公牛吗?每次只生一头,母牛,那公牛。。。。
题外话题外话,这不是我们研究的重点
尽然是递归算法,那么肯定有他的规律所在

思路:
1.可以知道每四年就有一头新母牛生仔,先看看第五年,其实就是前四年的数量加上前两年的数量
也就是说,对于第一头来说,第五年她生了五头,而对于第二头来说,她刚好生了一头。
不妨可以这样理解,每头母牛最多只能生四头,而从第五年开始,每年都有新的母牛出来生仔,这样就可以找到他的算法了

2.接下来是运行时间问题,递归的运行时间对于这道题来说太久了,不妨把所有的年数都罗列出来,存储到数组,方便调用

下面是源码片段

cow[i] = cow[i - 1] + cow[i - 3];

下面是完整源码链接
http://www.mutouyang.com.cn/archives/78

你可能感兴趣的:(技术)