题目
1022 D进制的A+B (20分)
输入两个非负 10 进制整数 A 和 B (≤230 −1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
代码
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int a = in.nextInt();
int b = in.nextInt();
int radix = in.nextInt();
fun(a + b, radix);
}
}
public static void fun(int x, int radix) {
if (x==0){
System.out.println(0);
return;
}
Stack<Integer> integerStack = new Stack<>();
while (x != 0) {
integerStack.push(x % radix);
x /= radix;
}
while (!integerStack.empty()) {
System.out.print(integerStack.pop());
}
System.out.println();
}
}
注意点
当a+b=0时,需要直接输出,否则无结果