首页 > 代码库 > 高精度乘法【高乘高
高精度乘法【高乘高
#include<stdio.h>#include<string.h>#include<math.h>int c[501],a[501],b[501],n,nn,nl,i,j,flag,temp[501],temp1[501];char s[501],s2[501];void input (){ scanf("%s ",&s); scanf("%s ",&s2); n=strlen(s)-1; for(i=0;i<=n;i++) a[i]=s[n-i]-‘0‘; nn=strlen(s2)-1; for(i=0;i<=nn;i++) b[i]=s2[nn-i]-‘0‘;}void calc(){ for(i=0;i<=n;i++) for(j=0;j<=nn;j++) c[i+j]+=a[i]*b[j]; nl=n>nn? n:nn; int t; t=0; for(i=0;i<=n+nn;i++) { if(c[i]>=10) { t=c[i]/10; c[i]-=t*10; c[i+1]+=t; } } nl=n+nn+2; for(i=nl;;i--) { int k=i ; if(c[k]==0)nl--; else break; }}int main(){ input(); calc(); for(i=nl;i>=0;i--) printf("%d",c[i]); return 0;}
高精度乘法【高乘高
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。