中国剩余定理

Posted 赤云封天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中国剩余定理相关的知识,希望对你有一定的参考价值。

求解x ≡ b[](mod w[])中的x值

 1 #include <stdio.h>
 2 int ext_euclid(int a,int b,int &x,int &y)  //求gcd(a,b)=ax+by
 3 {
 4     int t,d;
 5     if (b==0) {x=1;y=0;return a;}
 6     d=ext_euclid(b,a %b,x,y);
 7     t=x;
 8     x=y;
 9     y=t-a/b*y;
10     return d;
11 }
12 
13 
14 int China(int B[],int W[],int k)
15 {
16     int i;
17     int d,x,y,a=0,m,n=1;
18     for (i=0;i<k;i++)
19         n*=W[i];
20     for (i=0;i<k;i++)
21     {
22         m=n/W[i];
23         d=ext_euclid(W[i],m,x,y);
24         a=(a+y*m*B[i])%n;
25     }
26     if (a>0) return a;
27     else return(a+n);
28 }
29 int main(){
30     int len,B[100],W[100];
31     scanf("%d",&len);
32     for(int i = 0; i < len; i++)
33         scanf("%d%d",&B[i],&W[i]);
34     int ans = China(B,W,len);
35     printf("%d\n",ans);
36     return 0;
37 }

 

以上是关于中国剩余定理的主要内容,如果未能解决你的问题,请参考以下文章

中国剩余定理

简述中国剩余定理

中国剩余定理过程

什么叫中国剩余定理

中国剩余定理与扩展中国剩余定理

中国剩余定理公式是啥?