题目描述
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 2 2 2 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98 % 98\% 98%。现在小玉想知道,如果要游到距离 s s s 米的地方,她需要游多少步呢。请你编程解决这个问题。
输入格式
输入一个实数 s s s(单位:米),表示要游的目标距离。
输出格式
输出一个整数,表示小玉一共需要游多少步。
输入输出样例
输入
4.3
输出
3
说明/提示
数据保证, 0 ≤ s < 100 0 \leq s < 100 0≤s<100,且 s s s 小数点后最多只有一位。
方式
代码
python
class Solution:
@staticmethod
def oi_input():
"""从标准输入读取数据"""
s_float = float(input())
return s_float
@staticmethod
def oi_test():
"""提供测试数据"""
return 4.3
@staticmethod
def solution(s_float):
step, next = 2, 0.98
sum, count = 0, 0
while sum < s_float:
sum += (step * next ** count)
count += 1
print(count)
oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution
if __name__ == '__main__':
s_float = oi_test()
# s_float = oi_input()
solution(s_float)
流程图
是 否 开始 输入目标距离S 初始化sum=0, count=0, step=2, next=0.98 sum < S ? sum += step * next^count count += 1 输出count 结束