大整数类——乘法

《大整数类——乘法》

#include<bits/stdc++.h>
#define Max 200
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
       string a,b;
       cin>>a>>b;
       vector<int>x;
       vector<int>y;
       vector<int>z(Max+10,0);
       for(int i=a.size()-1;i>=0;i--)
        x.push_back(a[i]-'0');
       for(int i=b.size()-1;i>=0;i--)
        y.push_back(b[i]-'0');
       for(int i=0;i<x.size();i++)
       {
           for(int j=0;j<y.size();j++)
           {
               z[i+j]=z[i+j]+x[i]*y[j];
           }
       }
       for(int i=0;i<Max;i++)
       {
           if(z[i]>=10)
           {
               z[i+1]=z[i+1]+z[i]/10;
               z[i]=z[i]%10;
           }
       }
       int flag;
       for(int i=Max;i>=0;i--)
       {
           if(z[i]==0)
            continue;
           else
           {
               flag=i;
               break;
           }
       }
       for(int i=flag;i>=0;i--)
        cout<<z[i];
       cout<<endl;
    }
    return 0;

}

    原文作者:大整数乘法问题
    原文地址: https://blog.csdn.net/Wchenchen0/article/details/80273377
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞