求助,最后一个怎么也过不了
查看原帖
求助,最后一个怎么也过不了
1617657
plmnbvcxz4楼主2024/12/27 09:59
using namespace std;
const int N=2e3+10;
char a[N],b[N];
int c[N];
int main(){
  scanf("%s%s",a+1,b+1);
  int lena=strlen(a+1);
  int lenb=strlen(b+1);
  reverse(a+1,a+lena+1);
  reverse(b+1,b+lenb+1);
  for(int i=1;i<=lena;i++)
  if(a[i]>='0')a[i]-='0';
  for(int i=1;i<=lenb;i++)
  if(b[i]>='0')b[i]-='0';
  for(int i=1;i<=lena;i++)
  for(int j=1;j<=lenb;j++){
    c[i+j-1]+=a[i]*b[j];
  }
  for(int i=1;i<=lena+lenb;i++)
  if(c[i]>9){
    c[i+1]+=c[i]/10;
    c[i]%=10;
  }
  int len=lena+lenb;
  while(c[len]==0&&len>1)len--;
  reverse(c+1,c+len+1);
  for(int i=1;i<=len;i++)
  cout<<c[i];
  return 0;
}
2024/12/27 09:59
加载中...