A*B 高静度
和+,-,一样
#include<bits/stdc++.h>
using namespace std;
char a[10001],b[10001];
int x[10001],y[10001],i,j,len,n1,n2,jw=0,c[10001];
int main()
{
cin>>a>>b;
n1=strlen(a);
n2=strlen(b);
for(i=0;i<n1;i++) x[n1-i]=a[i]-'0';
for(i=0;i<n2;i++) y[n2-i]=b[i]-'0';
for(i=1;i<=n1;i++)
{
int ans=0;
for(j=1;j<=n2;j++)
{
c[i+j-1]=x[i]*y[j]+ans+c[i+j-1];//因为i=1,j=1,所以i+j-1存积
ans=c[i+j-1]/10;//进位
c[i+j-1]%=10;
}
c[i+n2]=ans;
}
len=n1+n2;
while(c[len]==0&&len>1) len--;//去0
for(i=len;i>=1;i--) cout<<c[i];
}

浙公网安备 33010602011771号