乘法高精度求调
查看原帖
乘法高精度求调
645451
封禁用户楼主2023/6/12 14:19

RT,第五个点死活过不去

https://www.luogu.com.cn/record/112580517

#include<iostream>
#include<vector>
using namespace std;

int main()
{
    int a[2005]={},b[2005]={},c[2005]={};
    string sa,sb;
    cin >> sa >> sb;
    for (int i=sa.length()-1,j=0;i>=0,j<=sa.length()-1;i--,j++)
    {
        a[j]=sa[i]-'0';
    }
    for (int i=sb.length()-1,j=0;i>=0,j<=sb.length()-1;i--,j++)
    {
        b[j]=sb[i]-'0';
    }
    int len=sa.length()+sb.length();

    for (int i=0;i<sa.length();i++)
    {
        for (int j=0;j<sb.length();j++)
        {
            c[i+j]+=a[i]*b[j];

        }
    }   

    for (int i=0;i<len;i++)
    {
        c[i+1]=c[i]/10+c[i+1];
        c[i]=c[i]%10;

    }
    
    for (;!c[len];)
    {

        len--;
    }
    len++;
    if(len <= 0)
    {
        len=1;
    }

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

}
2023/6/12 14:19
加载中...