一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米

珍宝珠 2019-11-19 15:41:36 2023

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

分享到
取消 提交回答
全部回答(2)
  • june-fu
    2020-02-03 18:35:11
    def bounce(num):
        height = 100
        total = 0
        for i in range(num):
            total += height
            height /= 2
        return total, height
    
    
    if __name__ == '__main__':
        t, h = bounce(10)
        print("它在第10次落地时,共经过{}米,第10次反弹高度是{}".format(t, h))
    

    以上实例输出结果为:
    它在第10次落地时,共经过199.8046875米,第10次反弹高度是0.09765625米

    0 0
  • 珍宝珠
    2019-11-19 15:41:55
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    tour = []
    height = []
    
    hei = 100.0 # 起始高度
    tim = 10 # 次数
    
    for i in range(1, tim + 1):
        # 从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)
        if i == 1:
            tour.append(hei)
        else:
            tour.append(2*hei)
        hei /= 2
        height.append(hei)
    
    print('总高度:tour = {0}'.format(sum(tour)))
    print('第10次反弹高度:height = {0}'.format(height[-1]))
    
    

    以上实例输出结果为:

    总高度:tour = 299.609375
    第10次反弹高度:height = 0.09765625
    
    0 0
添加回答
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

相似问题