一直过不了,请问哪里有问题?
查看原帖
一直过不了,请问哪里有问题?
1109018
LABC123456楼主2024/10/2 13:34
#include<iostream>
#include<string>
#define maxn 5010
using namespace std;
int a1[maxn], a2[maxn], a3[maxn];
int main()
{
    string a, b;
    getline(cin, a);
    getline(cin, b);
    if (a == "0" || b == "0")
     {
       cout << 0;
       return 0;
      }
    int lena = a.length(), lenb = b.length();
    for (int i = lena-1; i>=0 ; i--)
        a1[lena - i] = a[i] - '0';
    for (int i = lenb-1; i >=0; i--)
        a2[lenb - i] = b[i] - '0';
    for (int i = 1; i <= lena; i++) {
        for (int j = 1; j <= lenb; j++) {
            a3[i + j-1] += a1[i] * a2[j];
        }
    }
    int len = lena + lenb;
    for (int i = 1; i <= len; i++)
    {
        a3[i + 1] += a3[i] / 10;
        a3[i] %= 10;
    }
    for(;!a3[len];)
        len--;
    for (int i = max(1,len); i >= 1; i--)
        cout << a3[i];
    cout << endl;

    return 0;
1. 1.  }
2024/10/2 13:34
加载中...