数论编程

一、取模

(x%p+y%p)%p=(x+y)%p

((x-y)%p+p)%p 减法要这么写

二、欧几里得算法

ax+by=gcd(x,y)

辗转相减法

优化后是 辗转相除法

x=13,y=7

x-y=6 y=7

y-(x-y)=1 y=7

最大公因数是1

y-(x-y)=2y-x=1

反正一定能找出一组a b

满足ax+by=gcd(x,y)

ab可能是负数

因为辗转相减法就是来回减

三、扩展欧几里得算法

ax+by=gcd(x,y)

求a b

ax+by   =   gcd(x,y)   =   gcd(x%y,y)   =   gcd(x-ky,y)   =   c(x-ky)+dy
 
 
 
 
 
原文地址:https://www.cnblogs.com/Tidoblogs/p/11217612.html