PTA 1022 D进制的A+B (20 分)

185 阅读1分钟

题目

输入两个非负 10 进制整数 A 和 B (≤2 30 −1),输出 A+B 的 D (1<D≤10)进制数。

输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式: 输出 A+B 的 D 进制数。

输入样例:
123 456 8
输出样例:
1103

解题思路

A, B, D = map(int, input().split())
# A, B, D = map(int, "123 456 8".split())
num = A + B
isFushu = False
if num < 0:#处理负数的问题
    isFushu = True
num = abs(num)
res = ""
while num != 0:
    r = num % D  #求余得到的数为尾数
    num = num//D  #取除数进位
    res = str(r)+res
if isFushu == True:res = "-"+res
if len(res) == 0:#添加边界条件
    print("0")
else:
    print(res)