牛的数量有多少

题目描述:

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

分析与解答:

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

<?php
function bull($n){
    static $num = 1;
    for($j = 1; $j <= $n; $j++){
        if($j>=4 && $j<15){
            $num++;
            bull($n - $j);
        }

        if($j == 20){
            $num--;
        }
    }

    return $num;
}

echo bull(8);

程序的运行结果为

7
posted @ 2020-05-29 11:22  橙宝技术  阅读(588)  评论(0)    收藏  举报