PAT-basic-1022 D进制的A+B java
一、题目
输入两个非负 10 进制整数 和 (),输出 的 ()进制数。
输入格式:
输入在一行中依次给出 3 个整数 、 和 。
输出格式:
输出 的 进制数。
输入样例:
123 456 8
输出样例:
1103
二、解析
10进制转n[2, 10]进制。
三、代码
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
long a = input.nextLong();
long b = input.nextLong();
int d = input.nextInt();
ArrayList<Integer> list = decimalToNHexadecimal((a+b), d);
if(list.size() == 0){
System.out.print(0);
return;
}
for (int i = list.size()-1; i >=0 ; i--)
System.out.print(list.get(i));
}
public static ArrayList<Integer> decimalToNHexadecimal(long num, int d){
ArrayList<Integer> list = new ArrayList<>();
while(num != 0){
list.add((int)(num%d));
num /= d;
}
return list;
}
}