一、题目
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
二、分析
图.png①第一次落下100
②第一次反弹100/2,第二次落下100/2
③第二次反弹100/4,第三次落下100/4
三、方案
sum = 100
for i in range(1, 10):
print('第', i, '次反弹', 100 * (2 ** -(i)))
sum += 100 * (2 ** -(i)) * 2
print(sum)
输出结果:
第 1 次反弹 50.0
第 2 次反弹 25.0
第 3 次反弹 12.5
第 4 次反弹 6.25
第 5 次反弹 3.125
第 6 次反弹 1.5625
第 7 次反弹 0.78125
第 8 次反弹 0.390625
第 9 次反弹 0.1953125
299.609375
四、交流
如果你有更好的解法或者有不同的意见,大家可以畅所欲言,共同提高进步!
群主也是小白一枚,零基础学习python,要勇于提问,大家共同探讨,共同学习进步!
网友评论