问题:
有一母牛,到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头