PHP程序员面试算法宝典
上QQ阅读APP看书,第一时间看更新

1.10 牛的数量有多少

难度系数:★★★☆☆

被考查系数:★★☆☆☆

题目描述:

有一头母牛,到4岁时可生育,每年可生育一头小牛,假设所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛?

分析与解答:

根据条件定义一个函数,参数$n 代表多少年,定义最开始的牛的数量为1;在循环中,当母牛年龄大于4并且小于15时,每年可以生一头小牛(即牛的总数加1);递归调用这个函数,而函数的参数为$n减去已过去的年数;函数内还要判断如果牛的年龄为20时,那么牛的数量需减1。

设n为8年,实现代码如下:

程序的运行结果为