题意就不说了,简单的二分就可以了,应当是算法初学者的一个Hello world程序吧!
只是建议用乘法去做,不要用除法去求解~注意输入的终止符是负数
1 #include2 #include 3 using namespace std; 4 int main(){ 5 int n, cas = 1; 6 while(scanf("%d", &n)!=EOF && n>0){ 7 int i = 1, cnt = 0; 8 while(true){ 9 if(i>=n) break;10 i *= 2;11 cnt++;12 }13 printf("Case %d: %d\n", cas++, cnt);14 }15 return 0;16 }