两位数的大数乘法
发布时间:2020-12-14 02:00:15 所属栏目:大数据 来源:网络整理
导读:# include iostream # include cstdio # include cstring # include algorithm using namespace std ; int main(){ int a[ 30 ],b[ 30 ]; int result[ 30 ]; char st1[ 30 ],st2[ 30 ]; scanf ( "%s%s" ,st1,st2); int len1,len2; len1 = strlen (st1); len2
# include <iostream>
# include <cstdio>
# include <cstring>
# include <algorithm>
using namespace std;
int main(){
int a[30],b[30];
int result[30];
char st1[30],st2[30];
scanf("%s%s",st1,st2);
int len1,len2;
len1 = strlen(st1);
len2 = strlen(st2);
for(int i=0;i<len1;i++)
a[len1-i-1] = st1[i] - '0';
for(int i=0;i<len2;i++)
b[len2-i-1] = st2[i] - '0';
memset(result,0,sizeof(result));
for(int i=0;i<len1;i++){
for(int j=0;j<len2;j++){
result[i+j] += a[i]*b[j];
}
}
for(int i=0;i<len1+len2-1;i++){
result[i+1]+= result[i]/10;
result[i] = result[i]%10;
}
if((len1==1&&a[0]==0)||(len2==1&&b[0]==0))
printf("%dn",result[0]);
else
for(int i=len1+len2-1;i>=0;i--){
if(i==(len1+len2-1)&&result[i]==0) continue;
printf("%d",result[i]);
}
printf("n");
return 0;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |