【求助】各位大牛们来看看我哪里错了!!!

P1303 A*B Problem

Lyrics @ 2016-11-13 20:25:56

本人高精度辣鸡,写乘法写的死去活来,程序电脑上试了是可以的,但是到了评测的时候全部挂了,求指出错误!!!谢谢!!!

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char s1[10050],s2[10050];
int tot1[10050],tot2[10050],tot[1000000],len1,len2,len;
int main(){
    scanf("%s",&s1);
    scanf("%s",&s2);
    len1=strlen(s1);
    len2=strlen(s2);
    len=max(len1,len2);
    for(int i=0;i<len1;i++)
        tot1[len1-i-1]=s1[i]-'0';
    for(int i=0;i<len2;i++)
        tot2[len2-i-1]=s2[i]-'0';
    for(int i=0;i<len1;i++)
        for(int j=0;j<len2;j++)
            tot[i+j]=tot[i+j]+tot1[i]*tot2[j];
    for(int i=0;i<len1;i++)
        for(int j=0;j<len2;j++)
            if(tot[i+j]>=10){
                tot[i+j+1]+=tot[i+j]/10;
                tot[i+j]%=10;
            }
    int x;
    for(x=len;x>=1;x--)
        if(tot[x]!=0)break;
    for(int i=x+1;i>=0;i--)
        cout<<tot[i];
    cout<<endl;
}

by syfufo @ 2016-11-16 09:18:13

自己试试10*10


by 水墨 @ 2016-12-24 17:38:18

0*10,我下载的一个很数据


|