1. [a mod n] +,-,×,÷[b mod n] = [(a +,-,×,÷ b) mod n]
2. 裴蜀定理: “ax + by = c 有整数解(x , y)”等价于 “gcd(a , b) | c”
证明: 必要性
显然gcd(a,b) | ax + by 对所有 x,y∈Z 都成立。
充分性
先说明一条引理:ax + by = gcd(a,b) 有整数解;
这里设d=gcd(a,b),s 是a,b的线性组合中最小正整数
即: ,s显然是存在的
可设
则
即 r 也是a,b的线性组合,又s是线性组合中的最小正整数
故有r=0,即s | a。同理有s | b,s | gcd(a,b)=d
又由必要性可知 d | s,故有d=s,即
引理得证!对于任意的c 满足 d | c,有
3. 费马小定理:
若p是质数,且gcd(a,p)=1 。则有;
若p是质数。则对于任意正整数a,有
4. 欧拉函数与欧拉定理:
欧拉函数: : 小于n且与n互素的正整数个数。
显然对于任意素数p,有;对任意可以表示为两素数之积的整数n,
欧拉定理:若gcd(a,n) =1,则有:
或者:
证明欧拉定理:
证: 设是以n为模的一个简系;
则由于gcd(a,n)=1,也是一个以n为模的简系。
得证。
5. 中国剩余定理: 已知 互质,求x满足
则有: 是最小的正整数解。注意这里前提条件
互质必不可少!
其中;
是
模
的乘法逆元。
证明: 取
则有gcd()=1,取
则有对所有的
故取
则'是方程的一个解,但不是最小正整数解。
注:求乘法逆元的三种方法:
- 根据费马小定理,若p是质数,且gcd(a,p) = 1,则
,即有
, 所以
- 扩展欧几里得算法:若求
,则有
,写成
。
这里有 gcd(a, b) == gcd(b, a mod b) 假设
则有 这里//是整除意思,即得到a除以b的商。
可得到
递推可得 ,回代得x,修正
保证为正数
3. 线性求逆元
已知gcd(i, p) = 1,i<p, 求i模p的乘法逆元:
显然有: 且
则可以写成:
两边同乘,
可得:
即:
写成程序语言即为:
PS:一种逆元的使用例子:
若gcd(b, M)=1,则有
这里假设M是质数,由费马小定理可得
故有:
M是非质数时也是一样