python 大整数乘法

大整数乘法的实现

重点在于,分开来一位一位的计算,第i位和第j位相乘,就放在i+j-1和i+j位上。

def multy(n1,n2):
    n1=str(n1)
    n2=str(n2)
    n3=[]
    for i in range(len(n1+n2)):
        n3.append(0)
    for i2 in range(len(n1)):
        for i3 in range(len(n2)):
            n3[len(n1+n2)-i2-i3-1]+=int(n1[len(n1)-i2-1])*int(n2[len(n2)-i3-1])
    print(n3)
    for i in range(len(n1+n2)):
        if n3[len(n3)-1-i]>=10 :
            n3[len(n3)-i-2] += n3[len(n3) - 1 - i] // 10
            n3[len(n3)-1-i]=n3[len(n3)-1-i]%10
    return n3

print(multy(15,25))
    原文作者:大整数乘法问题
    原文地址: https://blog.csdn.net/qq_41895704/article/details/88760111
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞