【python】屈小原现在要为学校写校庆贺文(CTGU百年校庆)

题目:

"""

题目描述:

屈小原需要为学校的校庆写一篇贺文,共需写下n个字,但他目前只完成了1个字。屈小原可以进行两种操作:

在文档的末尾添加一个字,这样字数就会变为x+1。

写下与当前字数相同的内容,这样字数就会变为2x。

请问,要得到恰好n个字的贺文,屈小原最少需要进行多少次这样的操作?

输入格式:

输入一个正整数n,表示贺文的字数。

输出格式:

输出一个正整数,代表完成贺文所需的最少操作次数。

数据范围:

1≤n≤1000000

"""

代码:

# 代码实现:
n = int(input())
res = 0
# 在 Python 中,任何非零整数都被视为 True,而 0 被视为 False。
while n:
    if n % 2 == 0:
        n //= 2
    else:
        n -= 1
    res += 1
print(res-1)

 

你可能感兴趣的:(算法,java,数据结构)