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;
    }
}
posted @ 2023-02-18 21:22  正明小佐  阅读(19)  评论(0编辑  收藏  举报