python小课——零基础入门——学习笔记刷题学编程Leetcode模拟面试

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

2021-09-01  本文已影响0人  freesan44

题目

输入两个非负 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)
上一篇下一篇

猜你喜欢

热点阅读