一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。
时间: 2023-10-20 18:10:15 浏览: 240
python 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?反弹多高?
5星 · 资源好评率100%
在第N次落地时,球反弹的高度为初始高度的1/2的N次方,即M*(1/2)^N。
每次落地球经过的路程为:第一次落地路程为M,第二次落地路程为2*M,第三次落地路程为4*M,以此类推,第N次落地路程为2^(N-1) * M。
因为第N次落地后球不再反弹,所以第N次落地经过的总路程为前N-1次落地经过的路程之和,即
M + 2*M + 4*M + ... + 2^(N-1) * M = M * (2^N - 1)
综上所述,第N次落地时球反弹的高度为 M*(1/2)^N,共经过的路程为 M * (2^N - 1),结果保留两位小数。
代码实现如下:
```python
M = float(input("请输入球的初始高度(米):"))
N = int(input("请输入球落地的次数:"))
h = M * (1/2) ** N
s = M * (2**N - 1)
print("第{}次落地时球反弹的高度为:{:.2f}米".format(N, h))
print("球落地{}次共经过{:.2f}米".format(N, s))
```
阅读全文