如题。代码如下:
#include<iostream>
#include <cstdio>
using namespace std;
long long W=1000000000;
long long num1[120000],num2[120000];
long long ans[240000];
void put(long long a)
{
long long bj=W/10;
while(a<bj)
{
cout<<'0';
bj/=10;
}
if(a!=0)cout<<a;
}
int main()
{
char h;long long p1=0,p2=0;
h=getchar();
int time1=0;
while(h!='\n')
{
num1[p1]*=10;
num1[p1]+=h-'0';
time1++;
if(time1==9){p1++;time1=0;}
h=getchar();
}
for(int a=0;a<9-time1;a++)
{
num1[p1]*=10;
}
h=getchar();
int time2=0;
while(h!='\n')
{
num2[p2]*=10;
num2[p2]+=h-'0';
time2++;
if(time2==9){p2++;time2=0;}
h=getchar();
}
for(int a=0;a<9-time2;a++)
{
num2[p2]*=10;
}
for(int a=p1;a>=0;a--)
{
for(int b=p2;b>=0;b--)
{
ans[a+b+1]+=num1[a]*num2[b];
ans[a+b]+=ans[a+b+1]/W;
ans[a+b+1]%=W;
}
}
cout<<ans[0];
int a0=18-time1-time2;
p1-=a0/9;
for(int a=0;a<a0%9;a++)
{
ans[p1+p2+1]/=10;
}
for(int a=1;a<=p1+p2;a++)
{
put(ans[a]);
}
cout<<ans[p1+p2+1];
}