题目描述
《庄子》中说到,"一尺之棰,日取其半,万世不竭"。第一天有一根长度为 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) 结束