用贪心的思想,每次都复制尽量多的语句,最后一次按需复制即可。
细节参见代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF = 1000000000;
const int maxn = 100000+5;
int n,m,kase = 0;
int main() {
while(~scanf("%d",&n)&&n>0) {
int ans = 0, cur = 1;
while(true) {
if(cur >= n) break;
else if(cur < n) cur *= 2, ans++;
}
printf("Case %d: %d\n",++kase,ans);
}
return 0;
}