题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
num1 = input().strip() num2 = input().strip() n = min(len(num1), len(num2)) advance = 0 res = [] for i in range(-1, -n-1, -1): s = int(num1[i]) + int(num2[i]) + advance advance = s // 10 res.append(str(s % 10)) if len(num1) > len(num2): for j in range(-n-1, -len(num1)-1, -1): s = int(num1[j]) + advance advance = s // 10 res.append( str(s % 10) ) if advance > 0: res.append(str(advance)) elif len(num1) < len(num2): for j in range(-n-1, -len(num2)-1, -1): s = int(num2[j]) + advance advance = s // 10 res.append( str(s % 10) ) if advance > 0: res.append(str(advance)) else: if advance > 0: res.append(str(advance)) print(''.join(res[-1::-1]))