早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一道关于PHP的循环题目.一种细菌,1小时分裂一次,分裂8次后死亡,有3只细菌,请问一周后,这个菌落的细菌数量.怎么用for循环写出来啊.

题目详情
一道关于PHP的循环题目.
一种细菌,1小时分裂一次,分裂8次后死亡,有3只细菌,请问一周后,这个菌落的细菌数量.
怎么用for循环写出来啊.
▼优质解答
答案和解析
    $start = 3;//初始细菌数
    $hours = 24*7;//分裂的时间,单位是小时
    $arr = array();//记录最近九个小时的细菌数
    
    for ($i = 0; $i < $hours; $i++) {
        if ($i < 8) {
            //前八个小时,只是往队列里添加数据
            $arr[] = $start;
        }else {
            //从第九个小时开始,要计算死去的细菌
            //弹出数组头部的数据,弹出的数据即是已死亡的数据
            $temp = array_shift($arr);
            //计算出下次裂变的细菌数
            $start -= $temp;
            $arr[] = $start;
        }
        $start *= 2;
    }
    
    echo $hours."小时后的细菌数是:".$start;
?>

 楼主测试一下,我是按照你说的写的,不知道对不对