![PHP程序员面试算法宝典](https://wfqqreader-1252317822.image.myqcloud.com/cover/278/26268278/b_26268278.jpg)
上QQ阅读APP看书,第一时间看更新
1.10 牛的数量有多少
难度系数:★★★☆☆
被考查系数:★★☆☆☆
题目描述:
有一头母牛,到4岁时可生育,每年可生育一头小牛,假设所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛?
分析与解答:
根据条件定义一个函数,参数$n 代表多少年,定义最开始的牛的数量为1;在循环中,当母牛年龄大于4并且小于15时,每年可以生一头小牛(即牛的总数加1);递归调用这个函数,而函数的参数为$n减去已过去的年数;函数内还要判断如果牛的年龄为20时,那么牛的数量需减1。
设n为8年,实现代码如下:
![](https://epubservercos.yuewen.com/C1BA66/14700476705666606/epubprivate/OEBPS/Images/41_03.jpg?sign=1739951581-g9DHfuuU9nf0vf4SWweKXjOVZ16taPlB-0-f924f5118bfe6082ecbcf25d2a8665b4)
程序的运行结果为
![](https://epubservercos.yuewen.com/C1BA66/14700476705666606/epubprivate/OEBPS/Images/41_04.jpg?sign=1739951581-akGciHXgNJhnyRlNP77es8KtNPHCKHK7-0-5b663bc342e3e95eaf22d213c09afc04)