【PAT】1022.D进制的A+B
输入两个非负 10 进制整数 A 和 B ( ≤ 2 30 2^{30} 230 −1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
题解
模拟:
import java.util.*;public class Solution2 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int A, B, C, D;int[] result = new int[100]; //A、B最大是2^{30}-1,最长的二进制也不超过32位//直到文件EOF结束while (in.hasNextInt()) {A = in.nextInt();B = in.nextInt();D = in.nextInt();C = A + B;int n = 0;//记录转换的结果有几位do {result[n] = C % D;C /= D;++n;} while (C > 0);//倒序输出for (int i = n - 1; i >= 0; --i) {System.out.print(result[i]);}System.out.println();}}
}