华为机试(python):模拟

HJ38 求小球落地5次后所经历的路程和第5次反弹的高度

描述

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?

输入描述:

输入起始高度,int型

输出描述:

分别输出第5次落地时,共经过多少米以及第5次反弹多高。
注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。

def journey(start,n):
    distance = start
    height = [start]
    for i in range(1,n):
        distance += 2*start*0.5**(i)
        height.append(start*0.5**(i))
    return [format(distance,'.6f'),format(height[n-1]*0.5,'.6f')]    
while True:
    try:
        start = int(input())
        print(journey(start,5)[0])     
        print(journey(start,5)[1])                
    except:
        break

 

你可能感兴趣的:(华为机试,python)