大数相乘

2019-08-19  本文已影响0人  cookyo
def bigdatamul(str1, str2):
    int1 = [0] * len(str1)
    int2 = [0] * len(str2)
    for i in range(len(str1)):
        int1[i] = ord(str1[i]) - ord('0')
    for i in range(len(str2)):
        int2[i] = ord(str2[i]) - ord('0')
    result = [0] * (len(str1) + len(str2) - 1)
    for i in range(len(str1)):
        for j in range(len(str2)):
            result[i+j] += int1[i] * int2[j]
    for i in range(len(result)-1, 0, -1):
        result[i-1] += result[i] // 10
        result[i] = result[i] % 10
    res = ''
    for i in range(len(result)):
        res += str(result[i])
    return res
上一篇 下一篇

猜你喜欢

热点阅读