给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数
输入描述:
输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。
输出描述:
为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)
示例1
输入
7 2
输出
111
链接:https://www.nowcoder.com/questionTerminal/ac61207721a34b74b06597fe6eb67c52
来源:牛客网
此题中值得注意的是:在将十进制转换为其他进制的过程中,每次所产生的进制数正好对应数组的下标。所以可以将0~9,A-F这15个数存放在一个数组中,方便读取。
import java.util.*;
public class SysConvert {
public static String sysConvert(int m, int n) {
if(m == 0) return "0";
int tmp = m;
String s = "", table = "0123456789ABCDEF";
while(m != 0) {
if(m < 0) m = -m;
s = table.charAt(m % n) + s;
m /= n;
}
if(tmp < 0) s = "-" + s;
return s;
}
}