问题:

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


分析:

4岁可生育,那么4岁加上生下的小牛一共两头,生下的小牛再过4年也能生,期间母牛每年还能生一头,不难想到用递归算法

function niu($n)
{
    static $num = 1; //定义静态变量,起始母牛数量
    for ($j = 1; $j <= $n; $j++) {
        if ($j >= 4 && $j < 15) {
            $num++;
            niu($n - $j); //递归计算小牛数量,小牛生长年数为$n-$j
        }
        if ($j == 20) {
            $num--;
        }
    }
    return $num;
}

echo niu(8); //7头