#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='')