试题5:一球从100米高度自由落下,每次落地后反跳回原高度的一 半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多 高?
时间: 2023-10-20 13:14:41 浏览: 178
根据题意可以得到以下数据:
- 初始高度 `h = 100` 米
- 第一次落地后,球的高度变为原高度的一半,即 `h1 = h / 2`
- 第二次落地后,球的高度变为原高度的四分之一,即 `h2 = h / 2 / 2`
- 第三次落地后,球的高度变为原高度的八分之一,即 `h3 = h / 2 / 2 / 2`
- ...
- 第n次落地后,球的高度变为原高度的 `1/2^n`,即 `hn = h / 2^n`
由于第10次落地后,球不再反弹,因此需要另外计算。根据公式,第10次落地时,球的高度为 `h10 = h / 2^10`。
球落下的路径可以表示为 `h + h1 + h2 + ... + h9`,即初始高度加上前9次落地后反弹高度的总和。将这个式子进行变形,可以得到:
```
h + h/2 + h/2^2 + ... + h/2^9 = h(1 + 1/2 + 1/2^2 + ... + 1/2^9)
```
这个式子中括号内的部分是一个等比数列求和,可以使用公式 `Sn = a1(1 - q^n) / (1 - q)` 来计算。其中,`a1` 表示数列的第一项,即 `1`;`q` 表示公比,即 `1/2`;`n` 表示要求和的项数,即 `9`。将这些值代入公式中,可以得到:
```
h(1 + 1/2 + 1/2^2 + ... + 1/2^9) = h(1 - 1/2^10) / (1 - 1/2)
```
这个式子的结果即为球落下的总路径长度。
根据上述分析,可以得到以下 Python 代码实现:
```python
h = 100 # 初始高度
n = 10 # 落地次数
# 计算第10次落地时球的高度
hn = h / 2 ** n
print("第10次落地时球的高度为:", hn)
# 计算球落下的总路径长度
sum = h * (1 - 1 / 2 ** n) / (1 - 1 / 2)
print("球落下的总路径长度为:", sum)
```
输出结果为:
```
第10次落地时球的高度为: 0.09765625
球落下的总路径长度为: 299.609375
```
因此,在第10次落地时,球的高度为约 0.09765625 米,总路径长度为约 299.609375 米。