救命!!

P1303 A*B Problem

yxy02551 @ 2018-06-10 12:34:14

#include<iostream>
#include<cstdio>
using namespace std;
int a[2001]={},b[2001]={},s[4001]={};
char a1[2001]={0},b1[2001]={0};
int main()
{
    int i,j,x=0;
    cin>>a1>>b1;
    a[0]=strlen(a1);
    b[0]=strlen(b1);
    for(i=1;i<=a[0];i++)
    a[i]=a1[a[0]+1-i]-48;
    for(i=1;i<=b[0];i++)
    b[i]=b1[b[0]+1-i]-48;
    s[1]=1;
    for(i=1;i<=a[0];i++)
    {
        x=0;
        for(j=1;j<=b[0];j++)
        {
            s[i+j-1]=s[i+j-1]+x+(a[i]*b[j]);
            x=s[i+j-1]%10;
            s[i+j-1]/=10;
        }
    }
    i=4000;
    while(i>1)
    {
        if(s[i]==0) i--;
        else break;
    }
    for(j=i;j>=1;j--) cout<<s[j];
    return 0;
}

怎么测试,只输出230,只有230问题出在哪了??求助!


by yxy02551 @ 2018-06-10 12:41:17

头文件少引一个

#include<cstring>

但是引上了也还是那副德行啊


by Kiel @ 2018-06-10 12:46:58

n=int(input())
m=int(input())
id=n*m;
print(id)

by Kiel @ 2018-06-10 12:47:08

@yxy02551


by yxy02551 @ 2018-06-10 12:53:05

@something 我是C++ 别拿别的语言糊弄我


by Kiel @ 2018-06-10 12:53:54

@yxy02551 我也思


by cys2004a @ 2018-06-10 13:13:00

cin>>n>m;@yxy02551


by cys2004a @ 2018-06-10 13:13:37

不好意思,打错了。


by lsroi @ 2018-07-02 15:36:49

@yxy02551

for(i=1;i<=a[0];i++) a[i]=a1[a[0]+1-i]-48; for(i=1;i<=b[0];i++) b[i]=b1[b[0]+1-i]-48;

你化成数字化错了


by lsroi @ 2018-07-02 15:39:21

for(i=1;i<=a[0];i++)
    a[i]=a1[a[0]+1-i]-48;
    for(i=1;i<=b[0];i++)
    b[i]=b1[b[0]+1-i]-48;

|