#P0858. 幸运糖折半
幸运糖折半
题目描述
训练营里有一盒幸运糖,一开始盒子里有 n 颗糖。
老师每一轮都会进行一次“折半分糖”:
把盒子里当前糖果数量的一半留下来,另一半拿去分给同学。
如果当前糖果数量是奇数,留下来的数量按向下取整计算。
例如:
- 有
8颗糖时,下一轮盒子里剩4颗; - 有
10颗糖时,下一轮盒子里剩5颗; - 有
5颗糖时,下一轮盒子里剩2颗。
也就是说,每一轮结束后,糖果数量都会变成:
n / 2
这里的除法是整数除法。
请问至少经过多少轮后,盒子里会只剩下 1 颗糖?
如果一开始就只有 1 颗糖,则答案为 0。
输入格式
输入一个正整数 n,表示一开始盒子里的糖果数量。
输出格式
输出一行,一个整数,表示需要经过的轮数。
样例 1
8
3
样例 2
10
3
样例说明
样例 1 中,糖果数量变化为:
8 -> 4 -> 2 -> 1
共经过 3 轮。
样例 2 中,糖果数量变化为:
10 -> 5 -> 2 -> 1
也需要 3 轮。
数据范围
1 <= n <= 1000000000