Aquacolor

Aquacolor



大数乘法

zcxsb · 2026-03-23 · 2浏览 · 未分类


#include <bits/stdc++.h>

using namespace std;

const int maxn = 5000;

int a[maxn], b[maxn];

int tmp[2*maxn];

signed main()
{
    string s1, s2;

    cin >> s1 >> s2;

    int lena = s1.length(), lenb = s2.length();

    for(int i = lena - 1; i >= 0; i--)
    {
        a[i] = s1[lena - i - 1] - '0';
    }
    for(int i = lenb - 1; i >= 0; i--)
    {
        b[i] = s2[lenb - 1 - i] - '0';
    }

    for(int i = 0; i < lenb; i++)
    {
        for(int j = 0; j < lena; j++)
        {
            tmp[i + j] += (a[j] * b[i]);
        }
    }

    int lenc = lena + lenb;

    for(int i = 0; i < lenc; i++)
    {
        int t = tmp[i];
        tmp[i] = t % 10;
        tmp[i+1] += t / 10;
    }
    while (lenc > 0 && tmp[lenc] == 0)
    {
        lenc--;
    }
    
    for(int i = lenc; i >= 0; i--)
    {
        cout << tmp[i];
    }
}


©

comment 评论区

添加新评论

face表情



  • ©2026 bilibili.com

textsms
内容不能为空
昵称不能为空
email
邮件地址格式错误
web
beach_access
验证码不能为空
keyboard发表评论


star_outline 咱快来抢个沙发吧!




©2026 Aquacolor

Theme Romanticism2.2 by Akashi
Powered by Typecho