提交时间:2024-08-20 08:25:40

运行 ID: 168225

#include <bits/stdc++.h> using namespace std; const int len = 1e4 + 10; int a[len],b[len],res[len * 2]; void my_scanf(int a[]){ memset(a,0,sizeof(int) * len * 2); string s; cin >> s; for(int i = 0,j = s.size() - 1;i < s.size();i++,j--){ a[j] = s[i] - '0'; } } void mul(int a[],int b[],int res[]){ memset(res,0,sizeof(int) * len * 2); for(int i = 0;i < len;i++){ for(int j = 0;j < len;j++){ res[i + j] += a[i] * b[j]; if(res[i + j] >= 10){ res[i + j + 1] += res[i + j] / 10; res[i + j] %= 10; } } } } void my_printf(int res[]){ int pos = len - 1; while(pos > 0 && res[pos] == 0){ pos--; } for(int i = pos;i >= 0;i--){ cout << res[i]; } } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); my_scanf(a); my_scanf(b); mul(a,b,res); my_printf(res); return 0; }