题目描述
新一批的正方形巧克力运到了小明的巧克力店,每个巧克力边长为1,面积为1。而新的巧克力还没有盒子存储,小明就去采购巧克力盒子,盒子的大小规格十分有趣,都是2的幂次面积,例如大小可以是1,2,4,8,16。由于时间有限,他只能挑一个盒子,且这个盒子必须放下所有的巧克力。
当把盒子拿到店里,他发现了另一个问题。盒子可能会太大,在密封后,存在多余的空隙可能会使得巧克力变质。小明决定裁切这些盒子,再自己封装。裁切的方法比较单一,对于每个完整的盒子,只能将它对半裁开,分成面积相同的2部分(由于盒子大小是2的幂次,肯定可以被整除,直到大小为1)。例如,面积为D的盒子,就可以被分成面积为D/2的两个盒子。
要放下K块面积为1的巧克力,问至少需要购买面积多大的巧克力盒子,至少切割多少次,才可以组合出恰好为K面积的盒子?
输入
只有一行,一个整数K(1<=K<=1000000),表示购买的巧克力数量。
输出
只有一行,包含两个整数,表示购买的盒子的大小,以及至少切割的次数,中间用一个空格分隔。
样例输入【输入输出样例1】6【输入输出样例1】7【输入输出样例1】5样例输出【输入输出样例1】8 2【输入输出样例1】8 3【输入输出样例1】8 3提示
【样例1解释】
首先,购买的盒子大小为2的幂数,大小为6,只有8是最小的大于等于6的2的幂数。

如上图所示,面积为8的分成两块后,是4+4,;再切割一块4的,变成4+2+2,就可以组成6了。所以切2刀。
【样例解释2,3】
切割方法都如下图:

【数据范围】
30%的数据,K<=10000。
100%的数据,K<=1000000。
新一批的正方形巧克力运到了小明的巧克力店,每个巧克力边长为1,面积为1。而新的巧克力还没有盒子存储,小明就去采购巧克力盒子,盒子的大小规格十分有趣,都是2的幂次面积,例如大小可以是1,2,4,8,16。由于时间有限,他只能挑一个盒子,且这个盒子必须放下所有的巧克力。
当把盒子拿到店里,他发现了另一个问题。盒子可能会太大,在密封后,存在多余的空隙可能会使得巧克力变质。小明决定裁切这些盒子,再自己封装。裁切的方法比较单一,对于每个完整的盒子,只能将它对半裁开,分成面积相同的2部分(由于盒子大小是2的幂次,肯定可以被整除,直到大小为1)。例如,面积为D的盒子,就可以被分成面积为D/2的两个盒子。
要放下K块面积为1的巧克力,问至少需要购买面积多大的巧克力盒子,至少切割多少次,才可以组合出恰好为K面积的盒子?
输入
只有一行,一个整数K(1<=K<=1000000),表示购买的巧克力数量。
输出
只有一行,包含两个整数,表示购买的盒子的大小,以及至少切割的次数,中间用一个空格分隔。
样例输入【输入输出样例1】6【输入输出样例1】7【输入输出样例1】5样例输出【输入输出样例1】8 2【输入输出样例1】8 3【输入输出样例1】8 3提示
【样例1解释】
首先,购买的盒子大小为2的幂数,大小为6,只有8是最小的大于等于6的2的幂数。

如上图所示,面积为8的分成两块后,是4+4,;再切割一块4的,变成4+2+2,就可以组成6了。所以切2刀。
【样例解释2,3】
切割方法都如下图:

【数据范围】
30%的数据,K<=10000。
100%的数据,K<=1000000。