2019-02-27-PAT乙级-1022-D进制的A+B
原文链接:PAT乙级-1022-D进制的A+B
github代码地址:HibisciDai/OJ-PAT-ACM
2019-02-27-PAT乙级-1022-D进制的A+B
编程描述
输入两个非负 10 进制整数 A 和 B (≤$2^{30}$−1),输出 A+B 的 D (1<D≤10)进制数。
辅助描述
1 2 3 4 5
| 作者: CHEN, Yue 单位: 浙江大学 时间限制: 200 ms 内存限制: 64 MB 代码长度限制: 16 KB
|
输入格式
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式
输出 A+B 的 D 进制数。
输入样例
输出样例
分析
578 转 8进制
1 2 3 4
| 8|579 - 3 8|72 - 0 8|9 - 1 1
|
记录除法的余数与模累次记录
跳出循环条件为 最后结果(商)小于进制数大小
最后一次需要把结果再加上最后结果数(商)
算法实现
JAVA(openjdk)
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int d = sc.nextInt(); sc.close();
int sum = a + b; StringBuffer out = new StringBuffer(); int yushu = 0;
while (sum >= d) { yushu = sum % d; sum /= d; out.append(yushu); } out.append(sum);
for (int i = out.length() - 1; i >= 0; i--) { System.out.print(out.charAt(i)); } } }
|
运行结果
1 2 3 4 5 6 7 8 9
| 状态 分数 题目 编译器 耗时 用户 答案正确 20 1022 Java (openjdk) 179 ms HibisciDai 测试点 结果 耗时 内存 0 答案正确 158 ms 11248 KB 1 答案正确 141 ms 11560 KB 2 答案正确 179 ms 11504 KB 3 答案正确 154 ms 11716 KB 4 答案正确 139 ms 11256 KB 5 答案正确 175 ms 11312 KB
|