求助
  • 板块学术版
  • 楼主ryan985
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/5/22 21:30
  • 上次更新2023/10/23 14:59:37
查看原帖
求助
595813
ryan985楼主2023/5/22 21:30
#define maxn 500005
using namespace std;
int A[maxn],B[maxn],x[maxn];
int main()
{
    string a,b;
    cin >> a >> b;
    int lena = a.length(),lenb = b.length();
    for(int i = lena - 1;i >= 0;i--)
        A[lena - i] = int(a[i] - '0');
    for(int i = lenb - 1;i >= 0;i--)
        B[lenb - i] = int(b[i] - '0');
    for(int i = 1;i <= lena;i++)
        for(int j = 1;j <= lenb;j++)
            x[i + j - 1] += A[i] * B[j];
    int len = max(lena,lenb);
    for(int i = 1;i <= len + 1;i++)
    {
        x[i + 1] += x[i] / 10;
        x[i] %= 10;
    }
    int top = 5000;
    while(x[top] == 0)
        top--;
    for(int i = max(1,top);i >= 1;i--)
        cout << x[i];
    return 0;
}
2023/5/22 21:30
加载中...