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))

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值