社区讨论
0分
P1919【模板】高精度乘法 / A*B Problem 升级版参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo2b672p
- 此快照首次捕获于
- 2023/10/23 10:58 2 年前
- 此快照最后确认于
- 2023/11/03 11:08 2 年前
CPP
#include<iostream>
using namespace std;
int a[400], b[400], c[400];
string cheng(string s1,string s2){
int lena = 0 ;
for(int i=s1.size() -1 ; i >= 0 ; i -- ){
a[lena++] = s1[i] - '0';
}
int lenb = 0;
for(int i=s2.size() -1 ; i >= 0 ; i -- ){
b[lenb++] = s2[i] - '0';
}
int lenc = max(lena ,lenb);
for(int i = 0 ; i < lenb ; i ++ ){
for(int j = 0 ; j <= lena ; j ++ ){
c[i + j] = a[j] * b[i] + c[i + j];
c[i + j + 1] = c[i + j] / 10;
c[i + j] %= 10;
}
}
lenc = lena + lenb - 1;
if(c[lenc] != 0){
lenc++;
}
string res = "";
for(int i = lenc-1; i>=0; i--) {
res += to_string(c[i]);
}
return res;
}
int main(){
string s1 = "1";
string s2 = "654321";
cout << cheng(s1 , s2) ;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...