ZKX's LAB

大数求余数算法 只给商和余数怎么求除数和被除数

2021-04-23知识5

小数除以大数得到的余数问题 如果被除数比除数小,商是0,余数就是被除数本身.

大数相乘 快速算法 大数乘的最快算法是快速傅立叶变换法,这有一个,但不是我本人写的e69da5e6ba907a6431333238666366。includeincludeincludeincludeusing namespace std;const double PI=acos(-1);typedef complex<;double>;cp;typedef long long int64;const int N=1;int64 a[N],b[N],c[N];void bit_reverse_copy(cp a[],int n,cp b[]){int i,j,k,u,m;for(u=1,m=0;u;u,+m);for(i=0;i;i){j=i;k=0;for(u=0;u;u,j>;>;=1)k=(k)|(j&1);b[k]=a[i];}}void FFT(cp_x[],int n,bool flag){static cp x[N];bit_reverse_copy(_x,n,x);int i,j,k,kk,p,m;for(i=1,m=0;i;i,+m);double alpha=2*PI;if(flag)alpha=-alpha;for(i=0,k=2;i;i,k){cp wn=cp(cos(alpha/k),sin(alpha/k));for(j=0;j;j+k){cp w=1,u,t;kk=k>;>;1;for(p=0;p;p){t=w*x[j+p+kk];u=x[j+p];x[j+p]=u+t;x[j+p+kk]=u-t;w*=wn;}}}memcpy(_x,x,sizeof(cp)*n);}void polynomial_multiply(int64 a[],int na,int64 b[],int nb,int64 c[],int&nc){int i,n;i=max(na,nb);for(n=1;n;n);static cp x[N],y[N];for(i=0;i;i)x[i]=a[i];for;i;i)x[i]=0;FFT(x,n,0);for(i=0;i;i)y[i]=b[i];for;i;i)y[i]=0;FFT(y,n,0);for(i=0;i;i)。

小数除以大数得到的余数问题 很简单 小数除以大数商的本身就比1小,他的余数只可用有几个十分之几、百分之几、千分之几等来表示

#大数求余数算法#大数带余数除法计算#小数除以大数有余数#求大数的余数

随机阅读

qrcode
访问手机版