小球落地

一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?
分析:
第一次落地定义:初始高度到地面的距离
第二次落地定义:第1次落地到第2次落地的距离
第n次落地定义:第n-1次落地到第n次落地距离

h=100   #小球初始高度
l=100   #小球第1次落地前走过的距离
n=2     #小球从第1次落地后开始走循环
sum1=100  #小球第一次落地前走过的总距离为100
k=5   #k为小球落地的次数
if k==1:             #小球落地的次数为1
    print(sum1)     #小球第一次落地前走过的总距离为100
while n<=k:     #小球从第1次落地后开始计算,即n从2开始,也就是小球从第一次落地后弹起开始走循环条件
    h=h/2                     #每次落地后弹起的高度(这里是从第一次落地后弹起开始计算)
    l1=h*2                    #每次落地前走过的距离(这里是从第一次落地后弹起开始计算)
    sum1=sum1+l1              #将每次落地前走过的距离进行相加(这里是从从初始高度开始计算,也就是包括第1次落地前走过的距离)
    n=n+1
#print("走过的总距离:%f"%sum1)  第一种打印方式
print("走过的总距离{sum1}".format(sum1=sum1))   #第二种打印方式
原文地址:https://www.cnblogs.com/endmoon/p/9604181.html