大数相乘 完全矩阵 优化版

#include 
#include 
#include 
#include 
using namespace std;
int d[100000],p[100000];
int a[100000],b[100000];
int main()
{
    string e1,e2;
    while(cin>>e1>>e2)
    {
        int x,y;
        x=strlen(&e1[0]);
        y=strlen(&e2[0]);
        int i,j;
        for(i=0;i48;
        for(i=0;i48;

        memset(p,0,sizeof(p));
        for(i=y-1;i>=0;i--)
        {

            memset(d,0,sizeof(d));
            for(j=x-1;j>=0;j--)
            {
                d[i+j+1]=d[i+j+1]+b[i]*a[j]%10;
                int k=d[i+j+1]/10;
                d[i+j+1]%=10;
                d[i+j]=k+b[i]*a[j]/10;
                p[i+j+1]=p[i+j+1]+d[i+j+1];

                if(p[i+j+1]>9)
                {
                    p[i+j]+=1;
                    p[i+j+1]=p[i+j+1]%10;
                }
            }p[i+j+1]+=d[i+j+1];
        }
        if(p[0]!=0) i=0;
        else i=1;
        for(;icout<cout<return  0;
}

数组随便开了 开的越大算的越大

你可能感兴趣的:(51nod)