用python编译出:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
时间: 2023-10-20 14:13:12 浏览: 74
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
解法:
第一次落地时,球经过的路程为 100 米,第二次落地时,球经过的路程为 100+50*2 米,第三次落地时,球经过的路程为 100+50*2+25*2 米,以此类推,第十次落地时,球经过的路程为:
100 + 50*2 + 25*2 + ... + (100/2^9)*2
可以用循环来计算,同时每次落地后的高度也可以用循环来计算。代码如下:
```python
height = 100 # 初始高度
total_distance = height # 总路程,初始值为初始高度
for i in range(1, 10):
height /= 2 # 每次落地后的高度
total_distance += height * 2 # 每次落地后经过的路程
print("第10次落地时,共经过 %.2f 米" % total_distance)
print("第10次反弹高度为 %.2f 米" % height)
```
输出结果为:
```
第10次落地时,共经过 299.61 米
第10次反弹高度为 0.10 米
```
阅读全文