//大整数乘法
#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 人评分
C语言考试练习题_保留字母 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:687 |
【回文数(二)】 (C++代码)浏览:928 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:541 |
矩阵乘法 (C++代码)浏览:1646 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:656 |
DNA (C语言描述,蓝桥杯)浏览:1645 |
杨辉三角 (C语言代码)浏览:498 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:564 |
简单的a+b (C语言代码)浏览:595 |