c_cpp 将大数字乘以字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 将大数字乘以字符串相关的知识,希望对你有一定的参考价值。
// multiplication of large numbers as strings
#include <bits/stdc++.h>
using namespace std;
void multiply(string s1,string s2){
int n1 = s1.size();
int n2 = s2.size();
int z1,z2;
int carray;
int in1 = 0;
int in2 = 0;
vector<int> v(n1 + n2,0);
for(int i = n1 - 1;i >= 0;i--){
z1 = s1[i] - '0';
carray = 0;
in2 = 0;
for(int j = n2 - 1;j >= 0;j--){
z2 = s2[j] - '0';
int sum = z1*z2 + v[in1 + in2] + carray;
v[in1 + in2] = sum%10;
carray = sum/10;
in2++;
}
if (carray > 0){
v[in1 + in2] += carray;
}
in1++;
}
int i = v.size() - 1;
while(v[i] == 0){
i--;
}
for(int j = i;j >= 0;j--){
cout << v[j];
}
cout << endl;
}
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int n;
string s1;
string s2;
cin >> s1 >> s2;
multiply(s1,s2);
return 0;
}
以上是关于c_cpp 将大数字乘以字符串的主要内容,如果未能解决你的问题,请参考以下文章
将大数字(或字符串)压缩为小值
c_cpp 乘以一位数
将大查询数据导出到云存储,整数字段更改为字符串格式,但浮点格式保持为数字格式
Python3基础 print 中字符串乘以数字,重复输出多次
将大整数压缩成尽可能小的字符串
c_cpp 数字和字符串值