题目描述
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入描述:
输入在一行中依次给出3个整数A、B和D。
输出描述:
输出A+B的D进制数。
输入例子:
123 456 8
输出例子:
1103
分析:短除法
代码实现:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int a = scanner.nextInt();
int b = scanner.nextInt();
int d = scanner.nextInt();
int sum = a+b;
binaryTrans(sum,d);
}
}
private static void binaryTrans(int sum, int d) {
String []table ={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
ArrayList<String> list = new ArrayList<String>();
int shang = -1;
int yushu = -1;
while(shang!=0){
shang = sum/d;
yushu = sum%d;
sum = shang;
list.add(table[yushu]);
}
for(int i=list.size()-1;i>=0;i--){
System.out.print(list.get(i));
}
}
}