解题思路:将得到的十进制值 对 进制数 取模,余数值即为当前低进制的位的值。此时将十进制数除以进制数,重复模操作,直到十进制数为0,便得到接下来位的值。
举例:10 转化为 2进制;
先模:10 % 2 = 0 ——> 最低为为0;在除: 10 / 2 = 5;
重复:5 % 2 = 1 ——> 第二位为1;5 / 2 = 2;
重复:2 % 2 = 0 ——> 第三位为0;2 / 2 = 1;
重复:1 % 2 = 1 ——> 第四位为1;1 / 2 = 0;
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
boolean flg = false;
String table = "0123456789ABCDEF";
StringBuilder str = new StringBuilder();
if(m < 0) {
m = -m;
flg = true;
}
while(m != 0) {
str.append(table.charAt(m%n));
m = m/n;
}
if(flg) {
str.append("-");
}
str.reverse();
System.out.println(str);
}
}