python 大数求和

# encoding:utf-8
from numpy import *
x1 = raw_input()
x2 = raw_input()
# 按照从小到大存储
array1 = array([int(i) for i in x1[::-1]])
array2 = array([int(i) for i in x2[::-1]])
array3 = [0 for x in range(100)]

m = len(array1)
n = len(array2)
flag = 0
i = 0
# 计算重合部分
while i < m and i < n:
    array3[i] = (array1[i] + array2[i] + flag) % 10
    flag = (array1[i] + array2[i] + flag) / 10
    i += 1
# 计算剩余部分
while i < m:
    array3[i] = (array1[i] + flag) % 10
    flag = (array1[i] + flag) / 10
    i += 1
while i < n:
    array3[i] = (array2[i] + flag) % 10
    flag = (array2[i] + flag) / 10
    i += 1

array3[i] = flag
#  计算最后位数,最后进位,长度+1
if flag > 0:
    i += 1
num = ""
# 倒序输出
for i in array3[i-1::-1]:
    num = num + str(i)
print num

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值