自己在校内互坑赛出了一道欧拉定理的板子题,但是因为数据水变成了模拟数学题,真是一个悲伤的故事。。。
说一下欧拉定理的证明吧,之前一直认为费马小定理的证明很复杂,但是懂了欧拉定理之后就迎刃而解了。
首先,我们需要知道欧拉定理是什么:
数论上的欧拉定理,指的是
这个式子实在a和n互质的前提下成立的。
为什么成立呢?下面来证一下。
首先,我们知道在1到n的数中,与n互质的一共有(φ(n))个,所以我们把这(φ(n))个数拿出来,放到设出的集合X中,即为(x_1,x_2……x_{φ(n)})。
那么接下来,我们可以再设出一个集合为M,设M中的数为:
下面我们证明两个推理:
一、M中任意两个数都不模n同余。
反证法。
证明:假设M中存在两个数设为(m_a,m_b)模n同余。
即(m_a equiv m_b)
移项得到:(m_a-m_b=n*k)
再将m用x来表示得到:(a*x_a-a*x_b=n*k)
提取公因式得到(a*(x_a-x_b)=n*k)
我们现在已知a与n互质,那么式子就可以转化为:(x_a-x_bequiv 0(modn)),因为a中没有与n的公因子(1除外)所以a对模n同余0并没有什么贡献。
又因为(x_a,x_b)都是小于n的并且不会相同,所以(x_a-x_b)一定是小于n的,那么上述的式子自然全都不成立。
假设不成立。
证得:M中任意两个数都不模n同余。
二、M中的数除以n的余数全部与n互质。
证明:我们已知(m_i=a*x_i).
又因为a与n互质,(x_i)与n互质,所以可得(m_i)与n互质。
带入到欧几里得算法中推一步就好了。
即:
证毕。
根据我们证得的两个性质,就可以开始推式子了。
首先,根据第二个性质可以知道,M中的数分别对应X中的每个数模n同余。
所以可以得到:
现在我们把(m_i)替换成x的形式,就可以得到:
很显然,我们应该移项了,但是在移项之前,我们认为这么多的a很烦,那么就先乘起来:
很开心,我们终于凑出了(a^{φ(n)}),那么就开始移项吧:
然后,就出来啦:
证毕。
开心。