捞+玄关
查看原帖
捞+玄关
862998
Entity_303_114514楼主2023/10/10 18:58

小明去蛋糕店里购买蛋糕,蛋糕店里出售的蛋糕重量都是2的幂次方(例如1,2,4,8……这样)个单位,如果小明需要购买的蛋糕重量不正好是2的幂,就需要找一块蛋糕来进行切割,蛋糕的切割方式很简单,每次都是一分为二,这样切割出来的蛋糕仍然满足每块都是2的幂次方个单位。现在小明需要购买一块K个单位的蛋糕,那么蛋糕店里应该选取重量最小为多少的蛋糕来进行切割,以及最少需要切割几次才能满足小明的要求?

输入一个整数K。 输出两个整数,分别表示选取的蛋糕最小重量,以及最小切割次数。

Sample Input 1

6

Sample Output 1

8 2

Sample Input 2

7

Sample Output 2

8 3

Sample Input 3

5

Sample Output 3

8 3

1<=K<=10^6;

样例1解释:

先将8分成2块分别为4个单位的蛋糕,然后再将其中一个重量为4个单位的蛋糕分成2块分别为2个单位的蛋糕,这样一块4个单位+一块2个单位的蛋糕就凑成了一块6个单位的蛋糕。

样例2解释:

先将8分成2块分别为4个单位的蛋糕,然后再将其中一个重量为4个单位的蛋糕分成2块分别为2个单位的蛋糕,再将其中一个重量为2个单位的蛋糕分成2块分别为1个单位的蛋糕,这样一块4个单位+一块2个单位+一块1个单位的蛋糕就凑成了一块7个单位的蛋糕。

样例3解释:

先将8分成2块分别为4个单位的蛋糕,然后再将其中一个重量为4个单位的蛋糕分成2块分别为2个单位的蛋糕,再将其中一个重量为2个单位的蛋糕分成2块分别为1个单位的蛋糕,这样一块4个单位+一块1个单位的蛋糕就凑成了一块5个单位的蛋糕。

2023/10/10 18:58
加载中...