题目描述:
一个球从 100 米高度自由落下,每次落地后反弹回原高度的一半,再落下。求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?
分析与解答:
根据题目要求,假设初始总高度为 100 米,因为每次下落高度反弹回的高度为上一次的一半,循环 10 次,每次循环都对上次反弹后的高度除以 2 并且累加到总高度中。从而求解出共经过多少米和第十次的反弹高度。
实现代码如下:
<?php
$k = 100;
$sum = 100;
for($i = 1; $i <= 10; $i++){
$k=$k/2;
$sum = $sum + $k;
}
echo "共经过{$sum}米,第10次反弹高{$k}米";
程序的运行结果为
共经过199.90234375米,第10次反弹高0.09765625米