题目描述
高精度加法 python版本
代码
#python3 版本
#1.获取输入
n = input()
m = input()
#2.求出输入长度,新建N,M数组用于存储n,m
len_n = len(n)
len_m = len(m)
N,M = [0]*(max(len_n,len_m)),[0]*(max(len_n,len_m))
#3.将n,m逆序存储到N,M中(逆序可以方便最高位进一)
i,j,t=0,0,0
for k in range(len_n-1,-1,-1):
N[i] = int(n[k])
i += 1
for k in range(len_m-1,-1,-1):
M[j] = int(m[k])
j += 1
#4.将N,M中的数据相加存到C中
C = [0]*(len(N)+1)
for l in range(0,len(N),1):
t += N[l]+M[l]
C[l] = t%10
t = int(t / 10)
#5.判断最后一次是否有进位,有就置1,无就删除最后的0
if t == 1:
C[-1] = 1
else:
del C[-1]
#6.翻转列表,输出数据
C.reverse()
ans = ''.join(map(str,C))
print(ans)
-