题目
描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
最后的误差判断是小数点6位
输入描述:
输入起始高度,int型
输出描述:
分别输出第5次落地时,共经过多少米第5次反弹多高
示例1
输入:
1
输出:
2.875
0.03125
解题思路
(1)设第0次反弹到最高点的共经过sum_high = 0,高度为hight输入高度
(2)那么第1次共经过高度sum_high为下落高度加1/2反弹高度
sum_high = high+high/2 + sum_high,初始高度为 high = high/2
(3)循环5次,最终输出经过的高度与最终反弹的高度
代码
high = int(input())
sum_high = 0
for i in range(5):
sum_high = high+high/2 + sum_high
high = high/2
print("%.6f"%(sum_high-high))
print("%.6f"%(high))