x1=100000009086
x2=34578504440
import math
#将大数分解存进数组
def fun1(x):
strx = str(x)
list = []
for i in range(len(strx)):
a=x%10
list.append(a)
x=int(x/10)
return list
#对比两个大数的长度,不足的高位补0
def addlen(list1,list2):
a = len(list1)
b = len(list2)
c = int(math.fabs(a - b))
if a>b:
for i in range(c) :
list2.append(0)
elif a<b:
for i in range(c):
list1.append(0)
else:
pass
return list1,list2
#高位进位
def carry(list):
for i in reversed(range(len(sum))):
if sum[i]>9:
sum[i]=sum[i]-10
sum[i-1]+=1
return sum
#将数组组成num
def number(list):
num=0
for i in range(len(list)):
num=num*10+list[i]
return num
#主函数 对应位置相加
list1=fun1(x1)
list2=fun1(x2)
list1,list2=addlen(list1,list2)
sum=[]
for i in reversed(range(len(list1))):
for j in reversed(range(len(list2))):
if i==j:
sum.append(list1[i]+list2[i])
sum=carry(sum)
print(number(sum))
12-21
11-25