【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();
}
}
}