费马小定理
费马小定理:
\[a^{p-1}\equiv 1\pmod{p},p\in prime
\]
先看一些同余的基本性质,\(a\)和\(b\)除以\(c\)的余数相同,我们记为:
\[a\ \equiv b\pmod{m}
\]
\(\\\)
- $\ $ 如果\(a\ \equiv b\pmod{m}\)并且\(x\ \equiv y\pmod{m}\),那么有\(a+x \equiv b + y\pmod {m}\)
\(\\\) - $\ $ 如果\(a\ \equiv b\pmod{m}\)并且\(x\ \equiv y\pmod{m}\),那么有\(ax \equiv by \pmod{m}\)
\(\\\) - $\ $ 如果\(ac \equiv bc\pmod{m}\)并且\(\gcd(m, c)=1\),那么有\(a \equiv b\pmod{m}\)
\(\\\)
关于3,我们可以得到\(ac - mq = bc - mp\),移项得\(c(a-b)=m(q-p)\),因为\(m\)与\(c\)互质,所以\(m | (a-b)\),所以\(a\equiv b\pmod{m}\)
\(\\\)
在编译器中,两个异号的数取余之后的结果取决于分子的符号。负数%负数,编译器会将分母的负数自动转换为正整数,然后再将分子负数的负号提取出来,将两个正整数取余,最后的结果加上负号就好了。负数%正数,编译器先将分子负数的负号提取出来,将两个正整数取余,最后结果加上负号即可。正数%负数,编译器自动将分母负数转换为正整数,然后两个正整数取余得到就是最终结果。
\(\\\)
完全剩余系:
在模n的剩余类中各取一个元素,则这n个数就构成了模n的一个完全剩余系。如最小非负数为代表,则得完全剩余系\(\{0,1,2,...,n-1\}\)
\(\\\)
看一个完全剩余系的性质:
若\(a_1,a_2,...,a_n\)为\(\pmod{p}\)的一个完全剩余系且\(\gcd(p, b)=1\),则\(ba_1,ba_2,...,ba_n\)也为\(\pmod{p}\)的一个完全剩余系。
\(\\\)
证明一下,我一开始以为会有\(a_1\equiv ba_1\pmod{p}\),这样一一对应的相等关系,后来发现并不是这样,我们假设\(ba_i\equiv ba_j\pmod{p}\),则由上述性质3就有\(a_i\equiv a_j\pmod{p}\),产生矛盾,所以必有\(ba_i\not\equiv ba_j\pmod{p}\),所以\(ba_1,ba_2,...,ba_n\)仍为\(\pmod{p}\)的一个完全剩余系。
\(\\\)
下面证明一下费马小定理:
我们构造一个素数\(p\)的完全剩余系:\(P=\{0,1,2,...,p-1\}\)
由完全剩余系的性质得\(A=\{0,a,2a,...,(p-1)a\}\)
因为\(A\)和\(P\)都为\(\pmod{p}\)的完全剩余系,所以,\(1\times 2 \times 3\times...\times (p-1)\equiv a\times 2a \times 3a \times...\times (p-1)a\pmod{p}\),即为\((p-1)!\equiv (p-1)!a^{p-1}\pmod{p}\),又\(\gcd((p-1)!,p)=1\),所以得\(a^{p-1}\equiv 1\pmod{p}\)
\(\\\)
浅举以下它的应用:
\(\\\)
求\(2^{100}\)除以\(13\)的余数:
\[2^{100} \\ \equiv 2^{(12\times 8)+4}\pmod{13} \\ \equiv 1^8 \times 2^4 \pmod{13} \\ \equiv 16\pmod{13} \\ \equiv 3\pmod{13}
\]