基础题。
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main()
{
int A;
char bit[10]; //A转换的二进制数
while (cin >> A)
{
if (A == 0)
break;
memset(bit, 0, sizeof(bit));
int i = 0;
while (A != 0)
{
bit[i++] = A % 2;
A /= 2;
}
int j = 0;
while (bit[j] == 0) //找到第一个不为0的位
++j;
cout << pow(2, j) << endl;
}
return 0;
}
继续加油。