为毛20分

P1303 A*B Problem

青岛地铁 @ 2017-03-04 17:08:38

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
    char as[100],cs[100];
    int a[100],c[100],d[100],la,ld,lc,i,jw,b;
    cin>>as;
    cin>>cs;
    memset(a,0,sizeof(a));
    memset(c,0,sizeof(c));
    memset(d,0,sizeof(d));
    la=strlen(as);
    lc=strlen(cs);
    for(i=0;i<la;i++)
    {
        a[la-i]=as[i]-48;
    }
    for(i=0;i<lc;i++)
    {
        c[lc-i]=cs[i]-48;
    }
    for(i=1;i<=la;i++)
    {
        jw=0;
        for(b=1;b<=lc;b++)
        {
            d[i+b-1]=a[i]*c[i]+jw+d[i+b-1];
            jw=d[i+b-1]/10;
            d[i+-1]%=10;
        }
        d[i+lc]=jw;
    }
    ld=la+lc;
    while(d[ld]==0&&ld>1)
    {
        ld--;
    }
    for(i=ld;i>=1;i--)
    {
        cout<<d[i];
    }
}

by Hono @ 2017-04-22 20:54:16

d[i+b-1]=a[i]*c[i]+jw+d[i+b-1];

这句应为d[i+b-1]=a[i]*c[b]+jw+d[i+b-1];


|