洛谷题单3-P1423 小玉在游泳-python-流程图重构

题目描述

小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 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 结束

相关推荐
普通网友1 分钟前
C++与机器学习框架
开发语言·c++·算法
普通网友1 分钟前
C++安全编程指南
开发语言·c++·算法
学困昇9 分钟前
C++11中的右值引用和移动语义
开发语言·c++
有梦想的攻城狮10 分钟前
初识Rust语言
java·开发语言·rust
鱼骨不是鱼翅10 分钟前
力扣hot100----1day
python·算法·leetcode·职场和发展
2501_9412362112 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
程序猿_极客13 分钟前
【2025 最新】 Python 安装教程 以及 Pycharm 安装教程(超详细图文指南,附常见问题解决)
开发语言·python·pycharm·python安装以及配置
2501_9412357315 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
2501_9411112515 分钟前
基于C++的爬虫框架
开发语言·c++·算法
小欣加油16 分钟前
leetcode 429 N叉树的层序遍历
数据结构·c++·算法·leetcode·职场和发展