提交时间:2023-10-09 13:43:40

运行 ID: 106055

#include<bits/stdc++.h> using namespace std; int a[5005] = {-1}; int main() { int lenn , lenm; string n , m; cin >> n >> m; lenn = n.size(); lenm = m.size(); for(int i = lenn - 1;i >- 1;i--) { for(int j = lenm - 1;j >- 1;j--) { int a1 = n[i] - '0' + 0; int a2 = m[j] - '0' + 0; int ji = a1 * a2; if(a[lenm + lenn - i - j - 1] == -1) a[lenm + lenn - i - j - 1] = ji; else a[lenm + lenn - i - j - 1] += ji; } } for(int i = 1;i <= 5000;i++) { if(a[i] == -1) break; if(a[i] >= 9) { if(a[i + 1] == -1) a[i+1]=a[i] / 10; else a[i + 1] += a[i] / 10; a[i] %= 10; } } bool flag = true; for(int j = 5000;j >= 1;j--) { if(a[j] == 0) a[j] =- 1; else break; } for(int i = 5000;i >= 1;i--) { if(a[i] != -1) { cout<<a[i]; flag = false; } } if(flag) cout << 0; return 0; }