大数乘法

来源:互联网 发布:淘宝淘营销活动有用吗 编辑:程序博客网 时间:2024/06/18 02:04
#include <cstdio>
#include <cstring>
const int N=220;
char str1[N],str2[N];
int a[N],b[N],c[N];
int main(){
scanf("%s%s",str1,str2);
int l1=strlen(str1);
int l2=strlen(str2);
for(int i=0;i<l1;++i) a[i]=str1[l1-i-1]-'0';
for(int j=0;j<l2;++j) b[j]=str2[l2-j-1]-'0';
//for(int i=0;i<l1;++i) printf("%d",a[i]);
//a*b=>c
//将c清零 
memset(c,0,sizeof c);
//循环b的每一位乘以a的每一位,a[i]*b[i]=>c[i+j]
for(int i=0;i<l1;++i)
for(int j=0;j<l2;++j){
c[i+j]+=a[i]*b[j];
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
int l3=l1+l2;
while(l3>1 and c[l3]==0) l3--;
for(int i=l3;i>=0;--i) printf("%d",c[i]);
return 0;
}