首页 > 其他 > 详细

Lowest Bit(hdoj1196)

时间:2015-05-29 20:16:26      阅读:159      评论:0      收藏:0      [点我收藏+]

Lowest Bit

Problem Description
Given an positive integer A (1 <= A <= 100), output the lowest bit of A.

For example, given A = 26, we can write A in binary form as 11010, so the lowest bit of A is 10, so the output should be 2.

Another example goes like this: given A = 88, we can write A in binary form as 1011000, so the lowest bit of A is 1000, so the output should be 8.
 
Input
Each line of input contains only an integer A (1 <= A <= 100). A line containing "0" indicates the end of input, and this line is not a part of the input data.
 
Output
For each A in the input, output a line containing only its lowest bit.
 
Sample Input
26
88
0
Sample Output
2
8
  把n化为二进制数,然后找出最低位,例如101000 最低位为1000 为8, 
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cmath>
 4 using namespace std;
 5 int fen(int n)
 6 {
 7     int i,a;
 8     for(i=0;n!=0;i++)
 9     {
10         a=n%2;
11         if(a!=0)
12         {
13             return i;
14         }
15         else
16             n=n/2;
17     }
18 }
19 int main()
20 {
21     int n,i;
22     while(cin>>n)
23     {
24         if(n==0)
25             break;
26         else
27             cout<<pow(2,fen(n))<<endl;
28 
29     }
30 }

 

Lowest Bit(hdoj1196)

原文:http://www.cnblogs.com/a1225234/p/4539257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!