#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