Java教程

数论----同余方程

本文主要是介绍数论----同余方程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

《贝祖定理》

简单来说是: 整数 a,b ,gcd(a,b)=d;  则 存在x,y使ax+by=d成立

证明:

 

 

《扩展欧几里得算法》

 

 由贝祖定理:ax+by=gcd(a,b)

则:当不断取模gcd(a,b)=......=gcd(an,0)时

an*x+b*0=gcd,而an=gcd,所以 x=1,y=任意,为了方便y=0;

设:当前层ax+by=gcd

已知下一层的x1,y1

由下一层->这一层:

下一层的 a1=b,b1=a%b

a%b=a-(a/b)*b

即 b*x1+(a-(a/b)*b)*y1=gcd

a*y1+ b*(x1-y1*(a/b))=gcd------>x=y1,y=x1-y1*(a/b)

《一元线性同余方程》

 

 由 ax mod b =c ---> ax=y*b+c-----> ax+by=c

 

 

这篇关于数论----同余方程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!