首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-08-24 
牛年求牛:有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多

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

问题:?

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

// 方法1:按照时间推移计算, 嵌套循环function countcows($years) {    $cows[] = 0;    if($years < 4) return 1;    for($i=4; $i <= $years; $i++) {        for($j=0, $k=count($cows); $j<$k; $j++) {            $age = $i - $cows[$j];            if($age >= 4 && $age < 15) $cows[] = $i;            else if($age == 20) unset($cows[$j]);        }    }    return count($cows);}
// 方法2:不断的计算每头牛的产出, 使用递归function countcows2($years) {    static $cows_num = 1;    for($i=1; $i<=$years; $i++) {        if($i >= 4 && $i < 15) {            $cows_num ++;            countcows2($years - $i);        }        if($i == 20) $cows_num --;    }    return $cows_num;}
echo countcows(29);echo '<br/>';echo countcows2(29);

热点排行