一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
问题分析:
一开始的100米先抛开。10次落地,但是在最后一次落地后就停止了,所以只有9个来回,每个来回等于上次的高度,比如第一个来回的高度就等于100(50*2)
dh = 100
h = 0 # 算是一个中间量,不过Python不需要用中间量,见下面的代码
course = 100 # 经过的米数
for i in range(1,11):
h = dh/2
course += dh
dh = dh/2
print("小球共经过:{}米".format(course-2*dh))# 10个来回,但其实只有9次的距离,∴需要减去前一个来回的高度
print("小球在第10次反弹的时候高度为:{}米".format(dh))
dh = 100
course = 100
for i in range(1,11): # 改了下循环体
course,dh = course+dh,dh/2
print("小球共经过:{}米".format(course-2*dh))
print("小球在第10次反弹的时候高度为:{}米".format(dh))
答案:
小球共经过:299.609375米
小球在第10次反弹的时候高度为:0.09765625米