每次自己测试都可以,为啥交上去就有问题了
望大佬回复!
#include<iostream>
#include<math.h>
#include<cstring>
using namespace std;
int a[4000];
int b[4000];
int c[8000];
int ak,bk;
string ain;
string bin;
void cheng(){
for(int i=0;i<ak;i++){
for(int j=0;j<bk;j++){
c[i+j]+=a[i]*b[j];
}
}
return ;
}
void up(){
for(int i=0;i<ak+bk+1;i++){
c[i]=c[i]%10;
c[i+1]+=c[i]/10;
}
}
void out(){
bool is0=true;
for(int i=ak+bk+1;i>=0;i--){
if(is0){
if(c[i]!=0){
cout<<c[i];
is0=false;
}
}
else{
cout<<c[i];
}
}
}
void in(){
cin>>ain>>bin;
ak=ain.length();
bk=bin.length();
for(int i=0;i<ak;i++){
a[i]=ain[ak-i-1]-'0';
}
for(int i=0;i<bk;i++){
b[i]=bin[bk-i-1]-'0';
}
}
int main(){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
in();
if(ain=="0" || bin=="0"){
cout<<'0';
return 0;
}
cheng();
up();
out();
return 0;
}