首页 > ACM题库 > 九度OJ > 九度-1080-进制转换[解题代码]
2013
12-12

九度-1080-进制转换[解题代码]

题目来源:2008年清华大学计算机研究生机试真题

题目描述:

将M进制的数X转换为N进制的数输出。

输入:

输入的第一行包括两个整数:M和N(2<=M,N<=36)。
下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。

输出:

输出X的N进制表示的数。

样例输入:
16 10
F
样例输出:
15
提示:

输入时字母部分为大写,输出时为小写,并且有大数据。


java 代码如下:
import java.io.BufferedInputStream;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(new BufferedInputStream(System.in));
		while(s.hasNextInt()){
			int m = s.nextInt();
			int n = s.nextInt();
			String a = s.next();
			BigInteger b = new BigInteger(a, m);
			System.out.println(b.toString(n).toString());;
		}
	}
}

/**************************************************************
	Problem: 1080
	User: coder
	Language: Java
	Result: Accepted
	Time:1080 ms
	Memory:37184 kb
****************************************************************/


  1. simple, however efficient. A lot of instances it is difficult to get that a??perfect balancea?? among usability and appearance. I must say that youa??ve done a exceptional task with this. Also, the blog masses quite fast for me on Web explore.

  2. 学算法中的数据结构学到一定程度会乐此不疲的,比如其中的2-3树,类似的红黑树,我甚至可以自己写个逻辑文件系统结构来。