大数乘法

作者: 小太阳花儿 | 来源:发表于2018-04-09 18:57 被阅读33次

其实大数乘法就是在考虑大数加法的进位的同时,考虑字符串num1和字符串num2相乘时,每一位所在的位置,以及加法运算中多了一个乘法项。

可运行的cpp代码
class Solution {
public:
    string multiply(string num1, string num2) {
        string res(num1.size()+num2.size(),'0');
        
        for(int i=num1.size()-1;i>=0;i--)
        {
            int counter=0;
            for(int j=num2.size()-1;j>=0;j--)
            {
                int temp = res[i+j+1]-'0' + (num1[i]-'0')*(num2[j]-'0')+counter;
                res[i+j+1] = temp%10 + '0';
                counter = temp/10;
            }
            res[i] = counter + '0';
        }
        
        size_t found = res.find_first_not_of("0");
        if(found!=string::npos)
        {
            return res.substr(found);
        }
        return "0";
    }
};

相关文章

  • 大数求和

    大数求和 大数乘法

  • 大数乘法(Multiply Strings)

    大数乘法的算法 大数乘法的关键在于如何用字符串来模拟大数乘法。方法有如下几种:模拟普通的手算乘法、利用代数方法优化...

  • 大数

    大数乘法

  • 大数乘法

    大数乘法:

  • 大数乘法

    其实大数乘法就是在考虑大数加法的进位的同时,考虑字符串num1和字符串num2相乘时,每一位所在的位置,以及加法运...

  • 大数乘法

    后期需要实现分治算法,降低复杂度 测试代码 输出结果: 12345678998765 * 1234567 = 01...

  • 大数乘法

    普通大数乘法 普通大数乘法模拟两个数字竖式相乘,为了方便操作,数字的个位在数组的第0位,时间复杂度为O ( n² ...

  • 大数乘法

    算法爬坑之线性表大数乘法 include include include<...

  • 大数乘法

  • 大数乘法

    描述实现大数乘法,输入是两个字符串如n1 = '340282366920938463463374607431768...

网友评论

    本文标题:大数乘法

    本文链接:https://www.haomeiwen.com/subject/qptwhftx.html