当前位置:编程学习 > C/C++ >>

杭电OJ——1196 Lowest Bit(水题)

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
 
 
Author
SHI, Xiaohan
 
 
Source
Zhejiang University Local Contest 2005
 
 
Recommend
Ignatius.L
   大水题!很简单!直接发代码!
[cpp]  
#include<iostream>  
using namespace std;  
  
int main()  
{  
    int num,sum,i,j,temp;  
    while(cin>>num && num!=0)  
    {  
       sum=1;temp=0;  
       for(i=1;temp==0;i++)  
       {  
           temp=num%2;  
           //arr[i]=num%2;  
           num=num/2;  
       }  
       //cout<<"i="<<i<<endl;  
       //for(;;i--)  
           //if(arr[i]==1)  
               //break;  
       for(j=1;j<i-1;j++)  
           sum=sum*2;  
       cout<<sum<<endl;  
    }  
    return 0;  
}  
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,