已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时经过的全部路程以及第m次落地后反弹的高度,并输出结果。
时间: 2023-04-25 07:04:14 浏览: 319
好的,以下是用中文回复:
题目描述:
已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时经过的全部路程以及第m次落地后反弹的高度,并输出结果。
解题思路:
根据题目描述,球每次落地后反弹至原高度的四分之一再落下,因此球在第一次落地时经过的路程为n,第二次落地时经过的路程为n + n/2 + n/4,第三次落地时经过的路程为n + n/2 + n/4 + n/8 + n/16,以此类推。
球第m次落地后反弹的高度为n/4^(m-1)。
因此,我们可以用循环来计算球第m次落地时经过的全部路程和第m次落地后反弹的高度。
代码实现:
下面是Python代码实现:
n = int(input("请输入球从高空落下的高度(单位:米):"))
m = int(input("请输入球第几次落地后的路程和反弹高度:"))
s = n # 第一次落地的路程
h = n/4 # 第一次落地后反弹的高度
for i in range(2, m+1):
s += n/(2**(i-1)) # 第i次落地的路程
h = n/(4**(i-1)) # 第i次落地后反弹的高度
print("第", m, "次落地时经过的全部路程为:", s)
print("第", m, "次落地后反弹的高度为:", h)
输出结果:
请输入球从高空落下的高度(单位:米):100
请输入球第几次落地后的路程和反弹高度:3
第 3 次落地时经过的全部路程为: 175.
第 3 次落地后反弹的高度为: 6.25
希望能帮到你!
阅读全文