题目描述
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。
输入描述:
输入有多行。
每行包括两个正整数n和R,其中2≤R≤16。
输入直到文件结束为止。
输出描述:
对于每个用例,输出n对应的R进制形式。
超过10进制的数,10用A表示、11用B表示,依次类推。
输入例子:
1989 2
1119 16
输出例子:
11111000101
45F
代码如下:
import java.util.*;
public class PAT1017 {
public static void tran(int a,int b){
String []table ={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
ArrayList<String> list = new ArrayList<>();
int tmp = 0;
while(a!=0){
tmp = a%b;
a = a/b;
list.add(table[tmp]);
}
int len = list.size();
for(int i = len-1;i>=0;i--){
System.out.print(list.get(i));
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int a = in.nextInt();
int b = in.nextInt();
tran(a,b);
}
in.close();
}
}