//大整数乘法
#include <bits/stdc++.h>
using namespace std;
int na[2005], nb[2005], nc[4010];
string mul(string a, string b) {
int lena = a.size();
int lenb = b.size();
for (int i = 0; i < lena; i++)
na[lena - i] = a[i] - '0';
for (int i = 0; i < lenb; i++)
nb[lenb - i] = b[i] - '0';
int lenc = lena + lenb;
for (int i = 1; i <= lena; i++)
for (int j = 1; j <= lenb; j++) {
nc[i + j - 1] += na[i] * nb[j];
nc[i + j] += nc[i + j - 1] / 10;
nc[i + j - 1] = nc[i + j - 1] % 10;
}
while (nc[lenc] == 0 && lenc > 0)
lenc--;
string ans;
for (int i = lenc; i >= 1; i--) {
ans += nc[i] + '0';
}
return ans;
}
int main() {
string a, b;
cin >> a >> b;
cout << mul(a, b) << endl;
return 0;
}
0.0分
0 人评分
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:405 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:559 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:623 |
字符串问题 (C语言代码)浏览:1544 |
字符串对比 (C语言代码)浏览:1428 |
计算质因子 (C++代码)浏览:1687 |
简单的a+b (C语言代码)浏览:550 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2095 |
字符逆序 (C语言代码)浏览:630 |
Hello, world! (C语言代码)浏览:725 |