描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
数据范围:输入的小球初始高度满足 1≤n≤1000 ,且保证是一个整数
输入描述:
输入起始高度,int型
输出描述:
分别输出第5次落地时,共经过多少米以及第5次反弹多高。
注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。
示例1
输入:
1
复制输出:
2.875 0.03125
思路一:暴力求解
while True:
try:
H1 = float(input())
H2 = H1/2
H3 = H2/2
H4 = H3/2
H5 = H4/2
H6 = H5/2
SUM_H=H1+2*(H2+H3+H4+H5)
print(SUM_H)
print(H6)
except:
break
思路二:通用解法
from math import pow
h = int(input())
hi = h
fh = 0
for i in range(1, 5):
hi += h / (pow(2, (i - 1)))
fh = h / (pow(2, i+1 ))
print(round(hi, 6))
print(round(fh,6))