UVa 11636 - Hello World!

这么水的道题,居然WA了一次,看样例最后是-1,就用n==-1,做break的判断了,万万没想到,居然最后是个负数就break。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int n=0,a[20]={1},t=0;
for(int i=1;i<20;i++) a[i]=a[i-1]<<1;
while(cin>>n){
if(n<0) break;
int i;
for(i=19;i>=0;i--) if(n>=a[i]) break;
cout<<"Case "<<++t<<": ";
cout<<(n==a[i]?i:i+1)<<endl;
}
return 0;
}

** 本文迁移自我的CSDN博客,格式可能有所偏差。 **