HDU 1196 JAVA

来源:互联网 发布:python ctp 接口 编辑:程序博客网 时间:2024/06/08 10:15

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

题意:任意一个数字转花为2进制后,全部有0和1组成,从最后数过来第1个1,加上后面的0,成为一个新的二进制数再转化为10进制数,求出来后输出就好了

package hlh;import java.util.Scanner;public class p1196 {    public static void main(String[] args) {        Scanner sc = new Scanner (System.in);        while(sc.hasNext()){            int n = sc.nextInt();            if(n==0){                break;            }            String s =Integer.toBinaryString(n);            int t = 0;            for(int i=s.length()-1;i>0;i--){                if(s.charAt(i)=='0'){                    t++ ;                }else{                    break;                }            }            System.out.println((int)Math.pow(2, t));        }    }}
原创粉丝点击