问题:有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛
上代码
<?php
function cow($y){
static $num= 1;//定义静态变量;初始化牛的数量为1
for ($i=1; $i <=$y ; $i++) {
if($i>=4 && $i<15){//每年递增来算,4岁开始+1,15岁不能生育
$num++;
cow($y-$i);//递归方法计算小牛$num,小牛生长年数为$y-$i
}else if($i==20){
$num--;//20岁死亡减一
}
return $num;
}
总结,依然是利用递归,核心在于,第一 用静态变量保存牛的总量,计算一头母牛一生能生多少小牛,递归到每一个小牛即可