用python 实现:一小球从 N 米高空自由落下,每次落地后反跳回原高度的一半,再落下,如此反复。求它在第10次落地时,共经过多少米?第10次反弹多高?
时间: 2023-10-20 21:19:15 浏览: 147
python 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?反弹多高?
5星 · 资源好评率100%
可以使用以下代码实现:
```python
N = float(input("请输入小球的初始高度(米):"))
n = 10 # 第10次落地
distance = N # 第一次落地距离
for i in range(2, n+1):
distance += N / (2 ** (i-1)) * 2 # 每次弹起和落下的距离
if i == n: # 输出第10次反弹高度
print("第10次反弹高度为:", N / (2 ** (i-1)), "米")
print("第10次落地时,小球共经过", distance, "米")
```
运行代码,输入小球的初始高度,即可得出小球在第10次落地时经过的距离和第10次反弹的高度。
阅读全文