3.21 PAT1074 乙级 python

宇宙无敌加法器

jinzhi = input()
a = input()
b = input()
g = 0
k = 0
lst = []
b = (len(jinzhi)-len(b))*'0'+b
a = (len(jinzhi)-len(a))*'0'+a
jinzhi.replace('d','0')
for i in range(len(a)-1,-1,-1):
	if jinzhi[i]=='0':
		g = int(int(a[i])+int(b[i])+k)%10
		lst.append(str(g))
		k = (int(a[i])+int(b[i])-g+k)/10
	else:
		g = int((int(a[i])+int(b[i])+k)%int(jinzhi[i]))
		lst.append(str(g))
		k = (int(a[i])+int(b[i])-g+k)/int(jinzhi[i])
if k ==1:
	lst.append('1')
lst = lst[::-1]
result = ''.join(lst)
print(int(result))

要注意的几个地方就是,输入的两个数字位数都要补成和进制一样长;还有如果最高位相加以后还有进一的话,要把这个进一也补上。

你可能感兴趣的:(PAT,乙级,python)