Num 20 : HDOJ: 题目1402 : A*B ( 大数问题 )
发布时间:2020-12-14 02:26:04 所属栏目:大数据 来源:网络整理
导读:????? 与大数加法类似,大数乘法如下: #includestdio.h #includemath.h #includestring.h#includestdlib.h#includemalloc.h char chara[50010];char charb[50010];int a[50010];int b[50010];int c[100010];int main() {int i,j,lena,lenb;while(gets(chara
????? 与大数加法类似,大数乘法如下:
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> #include<malloc.h> char chara[50010]; char charb[50010]; int a[50010]; int b[50010]; int c[100010]; int main() { int i,j,lena,lenb; while(gets(chara)!=NULL&&gets(charb)!=NULL) { memset(a,sizeof(a)); memset(b,sizeof(b)); memset(c,sizeof(c)); lena=strlen(chara);lenb=strlen(charb); for(j=0,i=lena-1; i>=0; i--) a[j++]=chara[i]-'0'; for(j=0,i=lenb-1; i>=0; i--) b[j++]=charb[i]-'0'; for(i=0; i<lena; i++) for(j=0; j<lenb; j++) c[i+j]=a[i]*b[j]; for(i=0; i<100000; i++) if(c[i]>=10) { c[i+1]+=c[i]/10; c[i]=c[i]%10; } for(i=100000; (c[i]==0)&&(i>=0); i--); if(i>=0) for(; i>=0; i--) printf("%d",c[i]); else printf("0"); printf("n"); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |