编程题
### 问题描述 女巫很喜欢收集魔法晶石,她共收集了 $N$ 个魔法晶石,每个魔法晶石初始时有 $1$ 个魔法能量。 有天女巫觉得自己的魔法晶石实在是太多了,她决定进行晶石的合成,使得晶石的数量不超过 $K$。她合成晶石的方法如下: 每次合成晶石,女巫将选择两个所含魔法能量相同的晶石,将其合成为一个新的晶石,新晶石的魔法能量为两个合成原料的魔法能量之和。 显然在某些情况下女巫无法达到目标,比如 $N=3,K=1$。此时女巫会重新收集一些魔法晶石(新收集的晶石的初始魔法能量也是 $1$),以达到目标。 现在女巫想知道,最少需要新收集多少魔法晶石才能达到目标呢? ### 输入格式 输入包括两个整数 $N,K$,含义见上文。 ### 输出格式 输出一个整数,表示最少需要新收集的魔法晶石数量。 ### 样例输入 ``` 3 1 ``` ### 样例输出 ``` 1 ``` ### 评测数据规模 对于所有评测数据,$1\leq{N}\leq{10^9 },1\leq{K}\leq{1000}$。
查看答案
赣ICP备20007335号-2