【题意】:给一个数,找其二进制的最低位n,输出2^n。比如 11010为10输出2,11000 is 1000输出8。
思路:按照二进制算法来就行。注意是%2不是/2。
【AC代码】:
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; #define MAX 10 int main() { int n = 0; while (cin >> n && n) { int cnt = 0; while (n) { if (1 == n%2) { cout << pow(2, cnt) << endl; break; } else { n /= 2; cnt++; } } } return 0; }
原文地址:http://blog.csdn.net/weijj6608/article/details/43907121