C++中的大数乘的实现
Posted clwsec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中的大数乘的实现相关的知识,希望对你有一定的参考价值。
代码
来源:面试常考 大数加减乘除
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<int> mult(string s1, string s2)
int l1 = s1.size();
int l2 = s2.size();
vector<int> res(l1 + l2, 0);
for (int i = 0; i < l1; i++)
for (int j = 0; j < l2; j++)
res[i + j + 1] += ((s1[i] - '0')*(s2[j] - '0'));
int x = l1 + l2 - 1;
for (int i = x; i > 0; i--)
res[i - 1] += res[i] / 10;
res[i] %= 10;
return res;
int main()
string a = "99999";
string b = "99999";
vector<int> ans = mult(a, b);
int i = 0;
//去除前面的0
while (i < ans.size() && ans[i] == 0)
i++;
for (; i < ans.size(); i++)
cout << ans[i];
cout << endl;
system("pause");
return 0;
以上是关于C++中的大数乘的实现的主要内容,如果未能解决你的问题,请参考以下文章