题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1196
心得:
itoa(int value, char *string, int radix)对于进制转换非常管用,参见http://baike.baidu.com/view/982195.htm
代码:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
char a[100];
int n,i,x;
while(cin>>n,n){
memset(a,'\0',sizeof(a));
itoa(n,a,2);
for(i=strlen(a)-1;i>=0;i--){
if(a[i]=='1') break;
}
x=pow(2,strlen(a)-1-i);
cout<<x<<endl;
}
return 0;
}