题目1208:10进制 VS 2进制

来源:互联网 发布:畅享6s只有2g网络 编辑:程序博客网 时间:2024/05/17 22:56
import java.util.Scanner;import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;import java.math.BigInteger;class Main{private final static boolean DEBUG = false;public static void main(String[] args) throws IOException {Scanner cin;BigInteger a;if (DEBUG) {cin = new Scanner(new BufferedReader(new FileReader("d:\\OJ\\uva_in.txt")));} else {cin = new Scanner(System.in);}while (cin.hasNext()) {a = cin.nextBigInteger();if (a.compareTo(BigInteger.ZERO) == 0) {System.out.println("0");continue;}StringBuffer tmp = new StringBuffer();while (a.compareTo(BigInteger.ZERO) != 0) {BigInteger re = a.remainder(BigInteger.valueOf(2));tmp.append(re.toString());a = a.divide(BigInteger.valueOf(2));}String s = tmp.toString();BigInteger ans = BigInteger.ZERO;for (int i = 0; i < s.length(); i++) {ans = ans.multiply(BigInteger.valueOf(2)).add(BigInteger.valueOf(s.charAt(i) - '0'));}System.out.println(ans.toString());}}}

0 0
原创粉丝点击