题目
输入两个非负 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的多少次方开始除,所以决定采用列表,注意啊,这个时候的列表是由大至小排列。还是比较简单的。
程序
a=list(map(int,input().split()))
d=int(a[0])+int(a[1])
num=0
f=[]
for i in range(31):
f.append(a[2]**i)
e=f[-1::-1]#逆序输出
while a[2]<d:
for i in range(31):
if d>=e[i]:
num+=10**(30-i)
d-=e[i]
print(num+d)