大数乘法——模板
Posted z-bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数乘法——模板相关的知识,希望对你有一定的参考价值。
void multi(int a[],int b[],int c[],int an,int bn,int &cn){ //a[]被乘数 b[]乘数 c[] 保存结果 //an表示a数组中所存大数的位数,bn表示b数组中所存大数的位数,cn存c数组的位数 for(int i=maxn-1;i>=maxn-bn;i--){ //乘数 int weight=0; //进位数 for(int j=maxn-1;j>=maxn-an;j--){ //被乘数 int tmp=(c[j-(maxn-i)+1]+a[j]*b[i]+weight)/10; c[ j-(maxn-i)+1 ]=( c[ j-(maxn-i)+1 ]+a[j]*b[i]+weight )%10; weight=tmp; } if(weight){ //最高位进位 c[maxn-an-1- (maxn-i-1) ]=weight; cn=maxn-(maxn-an-1- (maxn-i-1)); } } cn<=an+bn-1? cn=an+bn-1:cn=cn; }
以上是关于大数乘法——模板的主要内容,如果未能解决你的问题,请参考以下文章