中国剩余定理 ( 的学习 )
孙子定理 又称为(中国剩余定理)
一般指孙子定理 中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。
现代公式表示为:
int Exgcd(int a,int b,int &x,int &y) { if (b==0) { x=1,y=0; return a; } int q=Exgcd(b,a%b,y,x); y-=a/b*x; return q; } int CRT(int *a,int *m,int n) { int M = 1; int ans = 0; for(int i=1; i<=n; i++) M *= m[i]; for(int i=1; i<=n; i++) { int x, y; int Mi = M / m[i]; Exgcd(Mi, m[i], x, y); ans = (ans + Mi * x * a[i]) % M; } if(ans < 0) ans += M; return ans; }
参考文献:百度百科 Acdreams的博客