问题
农场有1只母羊,母羊会在第2年,第4年各生下一只母羊,母羊第5年会死亡,20年后有多少只母羊 ?
PHP实现代码
//定义数组,维护各年龄段的母羊数量
$sheep = array(1,0,0,0,0);
for($i=1;$i<=20;$i++){
//每年得到新生产的羊(2岁和4岁的羊会生产新的羊)
$new_sheep = $sheep[1] + $sheep[3];
//把新生产的小羊数量放到数组开头,表示只有一年
array_ushift($sheep,$new_sheep);
//删除超过5年的老羊
array_pop($new_sheep);
}
//循环结束后得到各个年龄段的母羊数量,相加得到结果
echo array_sum($new_sheep);
本质上是一个出栈入栈的题目