#1.Python中int型是不限位数的,所以可以直接用int()处理输入,然后直接相加;
#2.用常规的解法就是从各位开始,拿出两个数相加,然后大于10,就往前进1,然后留下个位数;
#3.需要注意的是,先把数组逆序,然后最后的结果再逆序;
while True:
try:
num1 = list(input())[::-1]
num2 = list(input())[::-1]
result = list()
#这里先判断两个输入,,哪个位数更长
if len(num1) >= len(num2) :
temp_long = num1
temp_short = num2
else :
temp_long = num2
temp_short = num1
#对位数少的数组补0,主要是为了方便后面两两相加的时候,访问数组不越界
for i in range(len(temp_long) - len(temp_short)):
temp_short.append('0')
#进位标识位,默认为0
flag = 0
for i in range(len(temp_long)):
sum = int(temp_long[i]) + int(temp_short[i]) + flag
#两数相加大于10,留下各位,进位标识位=1,否则进位标识位=0
if sum >= 10 :
result.append(sum-10)
flag = 1
else :
result.append(sum)
flag = 0
#最后需要多判断一次,最高位的两数相加是否大于10,如果大于10,则直接最高位=1
if flag == 1 :
result.append(1)
except: break
#结果数组需要逆序输出,因为前面两个输入数组已经逆序了,低位在前,高位在后,结果数组同理
for i in result[::-1]:
print(i, end='')

京公网安备 11010502036488号