#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,cas=0;
while(scanf("%d",&n)!=EOF)
{
if(n<0) break;
int step=0,now=1;
for(int i=1;i<=20;i++)
{
if(now>=n) break;
now*=2;
step++;
}
printf("Case %d: %d\n",++cas,step);
}
return 0;
}
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2683
题解:贪心。每次复制全部sum*=2(使得总和最大),n-sum>0时最后只需一步即可。