面试算法题

小球高处落下回弹运动距离

"""
    一个小球从100m高度落下,每次弹回原高度一半.
    计算:
    -- 总共弹起多少次?(最小弹起高度0.01m)   13 次
    -- 全过程总共移动多少米?
    数据:高度       次数     距离
    处理:高度/=2   次数+=1  距离+=?

    速记手册
    https://www.processon.com/view/link/6389c900e0b34d0711c0555f
"""
height = 100
count = 0
distance = height

# height 是下落是的高度
# 0.01 是上升的高度
# while height > 0.01:
# height / 2 是上升高度
while height / 2 > 0.01:
    # 重复
    height /= 2
    count += 1
    distance += height * 2 # 累加起落距离
    print("第%s次弹起来的高度是%s" % (count, height))

print("总共弹起来%s次" % count)
print("总共移动%.2f米" % distance)

 

posted @ 2022-12-06 18:51  跃动指尖  阅读(33)  评论(0)    收藏  举报