问题描述
输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。
输入格式
输入包括两行,第一行为一个非负整数a,第二行为一个非负整数b。两个整数都不超过100位,两数的最高位都不是0。
输出格式
输出一行,表示a + b的值。
x = int(input(""))
y = int(input(""))
a = []
b = []
c = [] #存储加法结果
while x != 0: #把a倒叙转化为数字列表,个位在前,以此类推
a.append( x % 10)
x //= 10
while y != 0: #把b倒叙转化为数字列表,个位在前,以此类推
b.append( y % 10)
y //= 10
if(len(a)> len(b)): #填充a的长度,使len(a) == len(b)
for i in range(len(a)-len(b)):
b.append(0)
elif(len(a)<len(b)): #填充b的长度,使len(a) == len(b)
for i in range(len(b)-len(a)):
a.append(0)
for i in range(len(a)-1): #计算n-1位数相加
sum = a[i] + b[i]
if(sum >= 10):
c.append(sum % 10) #产生进位
a[i+1] = a[i+1] + 1 #下一位数+1
else:
c.append(sum)
sum = a[-1] + b[-1] #计算最后一位数相加
if(sum >= 10): #产生进位
c.append(sum%10) #添加最后一位数的个位
c.append(sum//10) #添加最后一位数的十位数
else:
c.append(sum)
for i in c[::-1]:
print(i,end="") #数字列表转换为数字,倒叙输出。