zoukankan      html  css  js  c++  java
  • HDOJ 1196 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

    输入一个十进制的数:然后转换为二进制,输出二进制的位数从后面到前面数的第一个1的时候的数的十进制。
    例如:26二进制是11010,所以从后面对前面数,第二位为1,所以取值为10,再转换成十进制,输出为2;

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                int n =sc.nextInt();
                if(n==0){
                    return ;
                }
                String str = Integer.toString(n, 2);
                //System.out.println(str);
                for(int i=str.length()-1;i>=0;i--){
                    if(str.charAt(i)=='1'){
                        System.out.println((int)Math.pow(2, str.length()-1-i));
                        break;
                    }
                }
            }
        }
    
    }
    
  • 相关阅读:
    C++中typename关键字的用法
    多项式系数的值
    记录几个经典的字符串hash算法
    linux timerfd系列函数总结
    linux 获取网络状态信息(Rtnetlink)
    linux netlink通信机制
    linux进程、线程与cpu的亲和性(affinity)
    C语言检查ip是否合法
    使用libpcap获取http报文
    使用libpcap过滤arp
  • 原文地址:https://www.cnblogs.com/webmen/p/5739330.html
Copyright © 2011-2022 走看看