hdu 1196 Lowest Bit 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1196
纯水
题目大意:输入一个十进制数,将它转化为二进制形式后,求出最低位1及其以后的0组成的数的十进制值并输出。
如:十进制的26转化后变成11010,最低位的1连同以后的0所组成的数十进制值为2。
题目分析:对二进制数的性质,和对数的本质的理解有考察。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,flag;
while(cin>>n&&n)
{
flag=1;
while(n%2==0)
{
n/=2;
flag*=2;
}
cout<<flag<<endl;
}
return 0;
}
PS:很久没有如此快的一条过了~~~