P1303求助
  • 板块题目总版
  • 楼主xie_jing_ao
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/7/10 13:39
  • 上次更新2024/7/10 15:03:15
查看原帖
P1303求助
1277595
xie_jing_ao楼主2024/7/10 13:39
#include <iostream>
#include <string>
using namespace std;
#define MaxN 10005

int a[MaxN], b[MaxN], c[MaxN * 2];

string cheng(string A, string B) {
    int l1 = 0, l2 = 0;
    for(int i = A.size()-1; i >= 0; i--) a[l1++] = A[i] - '0';
    for(int i = B.size()-1; i >= 0; i--) b[l2++] = B[i] - '0';
    for(int i = 0; i < l1; i++) {
        for(int j = 0; j < l2; j++) {
            c[i+j] += a[i] * b[j];
            if (c[i+j] >= 10) {
                c[i+j+1] += c[i+j] / 10;
                c[i+j] %= 10;
            }
        }
    }
    int l = l1 + l2 - 1;
    if (c[l] != 0) l++;
    string ans = "";
    for(int i = l-1; i >= 0; i--) ans = ans + (char)(c[i] + '0');
    return ans;
}

int main()
{
    string A, B;
    cin >> A >> B;
    cout << cheng(A, B) << endl;
    return 0;
}

为什么不对

2024/7/10 13:39
加载中...