题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
求小球落地5次后所经历的路程和第5次反弹的高度
https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446
import sys
def do(hight, num):
l_down_hight = []
l_up_hight = []
total_hight = 0
end_up_hight = 0
for i in range(num):
# 计算落下的高度
l_down_hight.append(hight/(2**i))
# 计算上弹的高度
l_up_hight.append(hight/(2**(i+1)))
total_hight = sum(l_down_hight) + sum(l_up_hight) - l_up_hight[-1]
end_up_hight = l_up_hight[-1]
return total_hight, end_up_hight
if __name__ == '__main__':
hight = int(sys.stdin.readline().strip())
num = 5
result = do(hight, num)
print(result[0])
print(result[1])
查看7道真题和解析