编程题:贪心算法
当地商店里来了一种新型巧克力。巧克力是条状的,每个条状由N个正方形组成。钢筋为工厂制造,尺寸仅为两倍全功率。换句话说,一根单条有1,2,4,8,16…正方形。
为了全面评估巧克力的质量,米尔科必须至少取样K个方块。他的朋友斯拉夫科也想尝尝巧克力。由于米尔科急于亲自品尝巧克力,他决定把买来的巧克力切成块,这样他就有了K个正方形,剩下的(如果有的话)留给斯拉夫科。钢筋有点脆,所以米尔科只能在钢筋的正中心折断钢筋。换句话说,从一个带有D方块的酒吧,他可以得到两个带有D/2方块的酒吧。
编写一个程序,确定Mirko必须执行的最小断裂次数,以获得精确的K平方(不一定是一块)。此外,确定米尔科必须购买的最小酒吧尺寸,以获得至少K个正方形。
### 输入格式:
第一行也是唯一一行输入将包含一个整数K(1≤K≤1000),表示米尔科必须取样的方块数
### 输出格式:
输出的第一行也是唯一一行应该包含两个整数,用一个空格分隔。第一个整数是米尔科必须购买的最小酒吧尺寸。第二个是最小的中断次数
### 输入样例1:
in
6
### 输出样例1:
out
8 2
### 输入样例2:
in
7
### 输出样例2:
out
8 3
### 输入样例3:
in
5
### 输出样例3:
out
8 3
答案:若无答案欢迎评论
为了全面评估巧克力的质量,米尔科必须至少取样K个方块。他的朋友斯拉夫科也想尝尝巧克力。由于米尔科急于亲自品尝巧克力,他决定把买来的巧克力切成块,这样他就有了K个正方形,剩下的(如果有的话)留给斯拉夫科。钢筋有点脆,所以米尔科只能在钢筋的正中心折断钢筋。换句话说,从一个带有D方块的酒吧,他可以得到两个带有D/2方块的酒吧。
编写一个程序,确定Mirko必须执行的最小断裂次数,以获得精确的K平方(不一定是一块)。此外,确定米尔科必须购买的最小酒吧尺寸,以获得至少K个正方形。
### 输入格式:
第一行也是唯一一行输入将包含一个整数K(1≤K≤1000),表示米尔科必须取样的方块数
### 输出格式:
输出的第一行也是唯一一行应该包含两个整数,用一个空格分隔。第一个整数是米尔科必须购买的最小酒吧尺寸。第二个是最小的中断次数
### 输入样例1:
in
6
### 输出样例1:
out
8 2
### 输入样例2:
in
7
### 输出样例2:
out
8 3
### 输入样例3:
in
5
### 输出样例3:
out
8 3
答案:若无答案欢迎评论