wangyongdong
9/19/2019 - 7:00 AM

有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?

/**
 * 有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?
 */

// 每分钟分裂分裂数为2的n次方个,60分钟即为2的60次方个;2的60次方=1*2的60次方,初始值为2的时候,即比第一次少分裂一次,一次是一分钟,所以为2的59次方;即少一分钟

// 计算瓶子里的总数
$interval_num = 2;      // 每分钟分裂倍数
$total = 60;            // 总时长
$germ_interval = 1;     // 初始细菌数
$germ_total = $germ_interval * pow(2, 60); // 瓶子内最大数量

// 初始值变成2
$germ_interval = 2;  // 初始细菌数
$germ_total_new = $germ_interval * pow(2, 60); // 60分钟的数量
$number = $germ_total_new/$germ_total; // 两次相差倍数为2。因为一分钟分裂一次,也就是相差一分钟;
$time = $total-1; // 最后用时
echo $time;