OpenJudge

04:分集装箱

总时间限制:
1000ms
内存限制:
65535kB
描述

仓库里有一大堆集装箱,总共有N个,需要装在卡车上运输到外地。每辆卡车一次最多只能装载C个集装箱。为了方便工人吊装集装箱,因此事先把这一大堆集装箱分成更小的堆。分堆的方法是:
先把整个一堆尽量平均分为两个小堆,然后继续把每一个小堆平分成两半,直到一整堆的集装箱能够被一辆卡车装完为止。注意,在平分奇数个集装箱时,分成的其中一堆要比另一堆多一个集装箱。
给出N和C,求至少需要装多少车才能运完。

输入
第1行:1个整数N
第2行:1个整数C
输出
第1行:1个整数,表示至少需要装多少车才能运完。
样例输入
14
3
样例输出
6
提示
【样例说明】
第1次分后 形成2堆 各7个
第2次分后 形成2堆 各4个,2堆各3个,3个的不需要再分了,用2辆车运输。4个的需要再分。
第3次分后 形成4堆 各2个,不需要再分了,用4辆车运输。
因此至少需要装6车才能运完。
【数据范围】
2 <= N <= 10^4
1 <= C <= N
全局题号
17141
添加于
2018-05-05
提交次数
79
尝试人数
62
通过人数
62