一道球落地并反弹,计算其路程及反弹高度的题目

一个铁球从100米高处落下,每次接触地面后,反弹到原高度的一般,求第10次球落地时,球的路径是多少米,之后反弹的高度是多少?

a = [100]    # 每个‘反弹落地’过程经过的路程,第1次只有落地(100米)
h = 100    # 每个‘反弹落地’过程,反弹的高度,第1次为100米
print('第1次从%s米高落地,走过%s米,之后又反弹至%s米。' % (h, a[0], h/2))
for i in range(2,1100):    # 第1次已初始化,再循环9次
    a.append(h)    # 先计算路程,再高度减半,因为一个‘反弹落地’为2个高度
    h = h / 2
    print('第%s次从%s米高落地,共走过%s米,之后又反弹至%s米。' % (i, h, sum(a), h / 2))

当然上面也可以封装成一个函数

好的,以下是用中文回复: 题目描述: 已知一从高空落下时,每次落地反弹至原高度的四分之一再落下。编写程序,从键盘输入整数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 希望能帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值