费马小定理
定义
若 p 是素数,且 gcd(a,p)=1 ,则
ap−1≡1(modp)
另一种形式:若 p 是素数,则
ap≡a(modp)
证明
构造集合 A={1,2,…,p−1} ,将集合中每一个数都乘以 a 再模 p ,即 rn=n×amodp ,得到新集合 B={r1,r2,r3,…,rp−1} 。
则有 A=B ,这是因为 ∀x,y∈A,x=y ,有 ax−ay=a(x−y)≡0(modp),即 ax≡ay(modp) ,故 p−1 个 rn 互不相同。
于是就得到了 B 其实也是 {1,2,…,p−1},和 A 一样。
所以
1×2×⋯×(p−1)≡a×2a×⋯×(p−1)a(modp)
即
(p−1)!≡(p−1)!×ap−1(modp)
因为 (p−1)! 与 p 互质,可以两边都除以 (p−1)! 即得证。
欧拉函数
在学习欧拉定理之前,需要先了解欧拉函数(欧拉,怎么到处都是你?)
定义
欧拉函数 φ(n) 表示所有小于 n 的数中与 n 互质的数的个数。
性质
对于质数 p ,由定义立即有 φ(p)=p−1
欧拉函数是积性函数,这意味着若 gcd(a,b)=1 有 φ(a×b)=φ(a)×φ(b)
还有很多有趣的性质,感兴趣可以自行了解。
欧拉定理
定义
若 gcd(a,m)=1 ,则
aφ(m)≡1(modm)
不难发现欧拉定理是费马小定理的推广,费马小定理是欧拉定理当 m 为质数的特例。
证明
欧拉定理的证明也和费马小定理的证明很像,考虑所有小于 m 与 m 互质的数的集合 Φ={c1,c2,…,cφ(m)}
再记 aΦ={ac1,ac2,…,acφ(m)}
同上,不难验证 cn 也是互异的,且 cn 与 m 互质, aΦ 也是所有小于 m 与 m 互质的数的集合。所以
aΦ=Φ
接下来就顺理成章了
i=1∏φ(m)i≡i=1∏φ(m)ai(modm)
aφ(m)≡1(modm)
拓展学习:群论中的拉格朗日定理
应用
由 aφ(m)≡1(modm) 可以得到
an≡anmodφ(m)(modm)
≡≡≡≡1913202(mod101)1913202modφ(101)1913202mod10019258
拓展欧拉定理
刚刚的欧拉定理好是好,就是有一个条件 gcd(a,m)=1 假如不满足这个条件,可以吗?
定义
扩展欧拉定理:
an≡⎩⎨⎧anmodφ(m)ana(nmodφ(m))+φ(m)gcd(a,m)=1gcd(a,m)=1,n<φ(m)gcd(a,m)=1,n≥φ(m)(modm)
也就是说,假如 a,m 不互质且 n 不够大,那降幂。假如 a,m 不互质且 n 足够大,可以降幂,但是需要在指数上多加一个 φ(m)
证明
扩展欧拉定理的证明相对就没有其他两个定理简单了,所以我咕咕咕了
参考链接
https://zh.wikipedia.org/zh-hans/%E8%B4%B9%E9%A9%AC%E5%B0%8F%E5%AE%9A%E7%90%86
https://zh.wikipedia.org/zh-hans/%E6%AC%A7%E6%8B%89%E5%AE%9A%E7%90%86_(%E6%95%B0%E8%AE%BA)
https://oi-wiki.org/math/number-theory/fermat/
https://oi-wiki.org/math/number-theory/euler-totient/