题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
str1 = input().strip() str2 = input().strip() length = min(len(str1), len(str2)) # 规定str1是长串,str2是短串 if len(str2) > length: str1, str2 = str2, str1 # 对于较短的字符串前面补0 str2 = (len(str1) - length) * "0" + str2 # 给字符串进行逆序 str1 = str1[::-1] str2 = str2[::-1] # 设置进位数组 lsts = [] my_str = "" for i in range(len(str1)): if i == 0: m = int(str1[i]) + int(str2[i]) else: m = int(str1[i]) + int(str2[i]) + lsts[i - 1] if m >= 10: lsts.append(1) m -= 10 my_str += str(m) else: lsts.append(0) my_str += str(m) # 判断高位是否有进位 my_str = my_str[::-1] if int(str1[-1]) + int(str2[-1]) >= 10: my_str = "1" + my_str print(my_str)