1263: 逆转一个数中的位

来源:互联网 发布:华讯网络薪资 编辑:程序博客网 时间:2024/06/08 19:02

题目

Description

pzzer从不放弃任何一丝希望,只要有希望都想来个大逆袭,不过这次是想把一个无符号数x的位逆转过来,如10进制19(10011)倒转过来后就成为(11001)25.现在问题来了,就是输入个无符号数,要你求得位倒转过来的数。(0<x<=2^32-1)
Input

多组测试数据,每组包括一个无符号正整数

Output

输出逆转后的数

Sample Input

19
12
Sample Output

25
3


代码块

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner cn = new Scanner(System.in);        while(cn.hasNext()){            int n = cn.nextInt();            int i =0;            int[] a = new int[1000];            while(n>0){                if(n%2==0) a[i] = 0;                else a[i] = 1;                n/=2;i++;            }            int sum = 0;            for(int j = 0;j< i ;j++){                sum += a[j]*Math.pow(2, i-j-1);            }            System.out.println(sum);        }    }}
原创粉丝点击