爱奇艺两个超大数加和问题AC
这个应该算是最简单了,为了节省时间,随便写了AC,就没优化了(python)
#coding = utf-8
import sys
def num_add(n,m):
len_n = len(n)
len_m = len(m)
ans = []
rest = 0
v_add = 0
i = 1
while i <= len_m:
num_n = n.pop()
num_m = m.pop()
v_add = (num_n+num_m + rest)%10
rest = (num_n+num_m + rest)/10
ans.append(v_add)
i += 1
if len_n == len_m:
ans.append(rest)
else:
while i <= len_n:
num_n = n.pop()
v_add = (num_n + rest)%10
rest = (num_n + rest)/10
ans.append(v_add)
i += 1
ans.append(rest)
return ans
if __name__ == "__main__":
try:
n = [int(x) for x in sys.stdin.readline().strip()]
m = [int(x) for x in sys.stdin.readline().strip()]
if len(n) < len(m):
n,m = m,n
ans = num_add(n,m)
if ans[-1] == 0:
ans = ans[::-1]
ans = ''.join([str(x) for x in ans[1:]])
else:
ans = ans[::-1]
ans = ''.join([str(x) for x in ans])
print ans
except:
pass