题目1080:进制转换
来源:互联网 发布:肖像权网络侵权管辖 编辑:程序博客网 时间:2024/06/05 10:01
import java.util.Scanner;import java.io.IOException;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.FileReader;import java.math.BigInteger;class Main {private final static boolean DEBUG = false;public static void main(String[] args) throws IOException {Scanner cin;int n, m;String s;if (DEBUG) {cin = new Scanner(new BufferedReader(new FileReader("d:\\OJ\\uva_in.txt")));} else {cin = new Scanner(new BufferedReader(new InputStreamReader(System.in)));}while (cin.hasNext()) {n = cin.nextInt();m = cin.nextInt();s = cin.next();if (s.compareTo("0") == 0) {System.out.println(s);continue;}BigInteger a = BigInteger.ZERO;for (int i = 0; i < s.length(); i++) {if (Character.isLetter(s.charAt(i))) {a = a.multiply(BigInteger.valueOf(n)).add(BigInteger.valueOf(s.charAt(i) - 'A' + 10));} else {a = a.multiply(BigInteger.valueOf(n)).add(BigInteger.valueOf(s.charAt(i) - '0'));}}StringBuffer ans = new StringBuffer();BigInteger rem;while (a.compareTo(BigInteger.ZERO) != 0) {rem = a.remainder(BigInteger.valueOf(m));int tmp = Integer.parseInt(rem.toString());if (tmp < 10) {ans.append((char) ('0' + tmp));} else {ans.append((char) ('a' + tmp - 10));}a = a.divide(BigInteger.valueOf(m));}s = ans.reverse().toString();System.out.println(s);}}}
0 0
- 题目1080:进制转换
- 题目1080:进制转换
- 题目1080:进制转换
- 题目1080:进制转换
- 62-题目1080:进制转换
- 题目45:进制转换
- 题目62:进制转换
- 题目1140: 进制转换
- 题目1138:进制转换
- 题目1138:进制转换
- 题目1138:进制转换
- 题目1138:进制转换
- 九度OJ 题目1080:进制转换
- 九度OJ 题目1080:进制转换
- 九度 oj 题目1080:进制转换
- 【九度】题目1080:大数进制转换
- 【九度OJ】题目1080:进制转换 解题报告
- 九度OJ 题目1080:进制转换
- 数值统计
- 一个独立程序员对自己近九个月工作生活的回顾
- spring的事务管理
- beaglebone black上如何安装摄像头
- 深入Java核心:JVM中的栈和局部变量
- 题目1080:进制转换
- Doctrine中定义表之间的关系
- AVL树,平衡二叉树的LL,LR ,RR,RL旋转
- 求数列的和
- java反射详解
- 【问题解决】用户登录问题
- 水仙花数
- presentModalViewController deprecated in ios6
- 各个开放平台的灵异事件