题目
问题描述
小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。
当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。
小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。
输入格式
一个正整数 𝑛(𝑛<10000000000),表示小明抓取的糖果数。
输出格式
一个整数,表示最少分至一颗糖果的次数。
样例输入
15
样例输出
5
样例解释
15+1=16;16/2=8;8/2=4;4/2=2;2/2=1;
数据范围
1≤𝑛<10000000000
1≤n<10000000000
代码
class Solution:
def func(self, num):
if num == 1: