80分求助 第一个点WA
查看原帖
80分求助 第一个点WA
1023751
EveningStudy楼主2023/7/28 16:36
#include <bits/stdc++.h>
using namespace std;

long long a[10001], b[10001], ans[10001], len_a, len_b, len_ans;

void Read(long long *a, long long &len)
{
    string cur;
    cin >> cur;
    len = cur.length();
    for (int i = 0; i < len; i++)
    {
        a[i] = cur[i] - 48;
    }
    reverse(a, a + len);
}

int main()
{
    Read(a, len_a);
    Read(b, len_b);

    for (int i = 0; i < len_a; i++)
    {
        for (int j = 0; j < len_b; j++)
        {
            ans[i + j] += a[i] * b[j];
        }
    }
    len_ans = len_a + len_b - 1;

    for (int i = 0; i < len_ans; i++)
    {
        if(ans[i] > 9)
        {
            ans[i + 1] += ans[i] / 10;
            ans[i] %= 10;
        }
    }

    while(ans[len_ans]) len_ans++;

    for (int i = len_ans - 1; i >= 0; i--)
    {
        cout << ans[i];
    }

    return 0;
}
2023/7/28 16:36
加载中...