洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构

题目描述

《庄子》中说到,"一尺之棰,日取其半,万世不竭"。第一天有一根长度为 a a a 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2 2 2,向下取整)。第几天的时候木棍的长度会变为 1 1 1?

输入格式

输入一个正整数 a a a,表示木棍长度。

输出格式

输出一个正整数,表示要第几天的时候木棍长度会变为 1 1 1。

输入输出样例

输入

复制代码
100

输出

复制代码
7

说明/提示

数据保证, 1 ≤ a ≤ 1 0 9 1 \le a\le 10^9 1≤a≤109。

方式

代码

python 复制代码
class Solution:
    @staticmethod
    def oi_input():
        """从标准输入读取数据"""
        num = int(input())
        return num

    @staticmethod
    def oi_test():
        """提供测试数据"""
        return 100

    @staticmethod
    def solution(num):
        day = 1
        while num > 1:
            num = num // 2
            day += 1
        print(day)


oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution

if __name__ == '__main__':
    num = oi_test()
    # num = oi_input()
    solution(num)

流程图

是 否 开始 主函数调用 读取输入数值
num = int(input()) 初始化天数day=1 当前数值num > 1? 数值减半
num = num // 2 天数增加
day += 1 输出天数
print(day) 结束

相关推荐
CHANG_THE_WORLD4 分钟前
金字塔降低采样
算法·金字塔采样
兮℡檬,8 分钟前
房价预测|Pytorch
人工智能·pytorch·python
hqxstudying9 分钟前
Java异常处理
java·开发语言·安全·异常
不知天地为何吴女士2 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界2 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
wjs20243 小时前
状态模式(State Pattern)
开发语言
我命由我123453 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle3 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
im_AMBER4 小时前
学习日志19 python
python·学习
励志要当大牛的小白菜5 小时前
ART配对软件使用
开发语言·c++·qt·算法