题目1208:10进制 VS 2进制
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1138
解决:327
-
题目描述:
-
对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数。
例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。
-
输入:
-
一个1000位(即10^999)以内的十进制数。
-
输出:
-
输入的十进制数的二进制逆序数。
-
样例输入:
-
173
-
样例输出:
-
181
-
-
题目大意 : 就是把十进制数转换为二进制 数,然后再把二进制进行逆序数 ,最后得到结果转换为十进制数
-
-
解题方法:这里要纠结是大叔问题1000位 可想而知。。。。
-
-
-
-
源代码:
-
import java.util.Scanner; import java.math.BigInteger; import java.io.BufferedInputStream; public class miann { //先声明一个字符串 static String str; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s = new Scanner(new BufferedInputStream(System.in)); while(s.hasNext()) { str = s.next(); BigInteger b = new BigInteger(str); str = new StringBuffer(b.toString(2)).reverse().toString(); b = new BigInteger(str, 2); System.out.println(b.toString()); } } }