📄 1007.cpp
字号:
#include <stdio.h>
#include <string.h>
#define N 1500
void reserve(char x[],int lx){
int i;
char temp;
for(i=0;i<=lx/2;i++){
temp=x[i];
x[i]=x[lx-i];
x[lx-i]=temp;
}
}
void mul(char a[],char b[],int result[]){
int i,j,la,lb,lr;
int temp;
la=strlen(a)-1;
lb=strlen(b)-1;
reserve(a,la);
reserve(b,lb);
for(i=0;i<=la;i++)
for(j=0;j<=lb;j++){
result[i+j]+=(a[i]-'0')*(b[j]-'0');
result[i+j+1]+=result[i+j]/10;
result[i+j]%=10;
}
lr=la+lb+1;
while(result[lr]==0)
lr--;
if(lr<0)
lr=0;
for(i=0;i<=lr/2;i++){
temp=result[i];
result[i]=result[lr-i];
result[lr-i]=temp;
}
for(i=0;i<=lr;i++)
printf("%d",result[i]);
putchar('\n');
}
int main(){
char a[N]={0},b[N]={0};
int result[2*N]={0};
scanf("%s%s",a,b);
mul(a,b,result);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -