首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数乘法

大数乘法

作者头像
kalifa_lau
发布2018-04-26 14:57:12
9890
发布2018-04-26 14:57:12
举报

其实大数乘法就是在考虑大数加法的进位的同时,考虑字符串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";
    }
};
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可运行的cpp代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档