zoukankan      html  css  js  c++  java
  • hdu1196 Lowest Bit

    hdu1196问题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1196

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main()
    {
        int n;
            while(scanf("%d",&n) && n != 0)
            {
    	        int i = 0;
                while(n && n % 2 == 0)
                {
                    i += n % 2 == 0;  // n % 2 == 0为真的时候,值为1,假的时候为0
                    n /= 2; 
                                                    
                }
    	        printf("%.0lf
    ",pow(2,i));  //输出浮点数,小数点为0位
    	        //转换后的二进制数后面有几个0就是2的几次方
                                            
            }   
        return 0;
    
    }
    
    #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;   
               num=num/2;  
           }  
           //i-1代表着转换后的二进制数后面0的个数
           for(j=1;j<i-1;j++)  
               sum=sum*2;  
           cout<<sum<<endl;  
        }  
        return 0;  
    }
    
  • 相关阅读:
    原型污染
    C#之抛异常
    为什么['1', '7', '11'].map(parseInt) returns [1, NaN, 3]?
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    其他
  • 原文地址:https://www.cnblogs.com/fazero/p/4991383.html
Copyright © 2011-2022 走看看