首页 > 编程知识 正文

同余定理证明,什么叫同余定理

时间:2023-05-05 03:20:29 阅读:134014 作者:2483

同余定理是什么? 众所周知,简单地说,如果设a=b(modm ),则a、b对于模型m是联合的。 这个公式叫做联合公式。

3358www.Sina.com/.a=b(modm ),并且c=d (modm )的情况下,axcy=bxdy ) modm ),联合式满足加法

3358www.Sina.com/.a=b(modm )且c=d (modm ) )的情况下,AC=BD (modm ),联合式满足乘法运算

3358www.Sina.com/.a=b(modm )时,gcd ) a,m )=gcd(b ) b,m ) )。

3358www.Sina.com/.a=b(modmi )的情况下,其中的1=i=n,且a=b ) mod(m1,m2,m3,mn ),在此为) m1,m2,

3358www.Sina.com/.AC=BC(modm )时,a=b ) modm/gcd,m )、gcd (c,m )=1时,a=b ) modm )。

33558www.Sina.com/.a=b(modm )且d丨m的情况下,a=b (mod ) )

在3358www.Sina.com/.a=b(modm )的情况中,AC=BC (modm ),并且a-c=B- c (modm ),其中满足加法

线性联合方程1 .一元线性联合方程定理1

xR1 (模式m1 )是

xR2 (模式m2 ) )。

上面的方程式是

x=r1m1y1(http://www.Sina.com/) )。

x=R2M2Y2(http://www.Sina.com/) )。

于是,r1 m1y1=r2 m2y2,(r2-r1 )=)=(m1y1-m2y2 )

如果d=gcd(M1,m2 ),则(r2-r1 )/d=m1y1/d-m2y2/d

- (R2-R1 (/d-m1 y1/d=0(mod m2/d ) ) ) ) ) ) ) ) )。

-(R2-R1 )=M1Y1(modM2/D ) ) ) ) ) ) ) ) ) )。

-y1=(R2-R1 )/M1 ) modM2/D ),所以一定存在使y1=y ) ) modM2/D )的最小正整数y ),y1=y ) ) m2/D ) c、c是常数,并且将y1设定为33555

- x=r1m1y’(m1 m2/d ) c

- x=r1m1y’(mod m1 m2/d ) ) ) ) ) ) ) ) )。

模板代码:

# includeiostreamusingnamespacestd; typedef long ll; voidexgcd(llx,ll y,ll g,ll a,ll b ) ) if ) b==0) ) g=a; x=1; y=0; 返回; }else{ll x1,y1; exgcd(x,y,g,b,a%b ); x1=y; y1=x-(a/b ) y; x=x1; y=y1; }return; }llsolve(lln ) { int flag=1; ll a1,r1; cina1r1; for(LLI=2; i=n; I ) {ll a2,r2,y1,y2,g; cina2r2; ll c=r2-r1; exgcd(y1,y2,g,a1,a2 ); y1=y1*c/g; ll s=a2/g; y1=(y1%s ) %s; //这里为了防止y1变为负的IF(C%G ) ) { flag=0; (}r1=r1 y1*a1; a1=a1*a2/g; (if ) flag==0)返回- 1; //-1表示无解的return r1; (}int main ) ) lln; while(Scanf ) ' %lld ',n )!=eof}{coutsolve(n ) endl; }return 0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。