欧拉恒等式的证明(原创方法)

欧拉恒等式

对于任何正整数n和任何整数a,满足gcd(a, n) = 1(即a和n互素)时,有 a φ ( n ) ≡ 1 ( % n ) a^{\varphi(n)}\equiv1(\%n) aφ(n)≡1(%n)。

证明(原创方法)

一. a a a 为素数的情况:

1. a a a 为素数且 n n n 为素数的情况:

a φ ( n ) = a n − 1 a^{\varphi(n)}=a^{n-1} aφ(n)=an−1。

利用费马小定理得 a n − 1 ≡ 1 ( % n ) a^{n-1}\equiv 1(\%n) an−1≡1(%n)。

所以 a φ ( n ) ≡ 1 a^{\varphi(n)}\equiv1 aφ(n)≡1 成立。

2. a a a 为素数且 n n n 为合数的情况:

将 n n n 进行质因数分解得: a φ ( n ) = a φ ( p 1 × p 2 × ... × p k ) a^{\varphi(n)}=a^{\varphi(p_1 \times p_2 \times \ldots \times p_k)} aφ(n)=aφ(p1×p2×...×pk)

利用欧拉函数得乘法性质得: a φ ( p 1 × p 2 × ... × p k ) = a φ ( p 1 ) × φ ( p 2 ) × ... × φ ( p k ) a^{\varphi(p_1 \times p_2 \times \ldots \times p_k)}=a^{\varphi(p_1) \times\varphi(p_2)\times\ldots\times\varphi(p_k)} aφ(p1×p2×...×pk)=aφ(p1)×φ(p2)×...×φ(pk)

变形得:

= ( a φ ( p 1 ) ) φ ( p 2 × ... × p k ) =(a^{\varphi(p_1)})^{\varphi(p_2\times\ldots\times p_k)} =(aφ(p1))φ(p2×...×pk)

% n \%n %n 得:

= ( a φ ( p 1 ) ) φ ( p 2 × ... × p k ) % n =(a^{\varphi(p_1)})^{\varphi(p_2\times\ldots\times p_k)}\%n =(aφ(p1))φ(p2×...×pk)%n

= ( a φ ( p 1 ) % n ) φ ( p 2 × ... × p k ) % n =(a^{\varphi(p_1)}\%n)^{\varphi(p_2\times\ldots\times p_k)}\%n =(aφ(p1)%n)φ(p2×...×pk)%n

= 1 φ ( p 2 × ... × p k ) =1^{\varphi(p_2\times\ldots\times p_k)} =1φ(p2×...×pk)

= 1 =1 =1,成立。

二. a a a 为合数得情况

将 a a a 进行质因数分解得: ( q 1 × q 2 × ... × q s ) φ ( n ) (q_1\times q_2\times\ldots\times q_s)^{\varphi(n)} (q1×q2×...×qs)φ(n)

= q 1 φ ( n ) × q 2 φ ( n ) × ... × q s φ ( n ) =q_1^{\varphi(n)}\times q_2^{\varphi(n)}\times\ldots\times q_s^{\varphi(n)} =q1φ(n)×q2φ(n)×...×qsφ(n)

% n 得: q 1 φ ( n ) % n × q 2 φ ( n ) % n × ... × q s φ ( n ) % n \%n 得:q_1^{\varphi(n)}\%n\times q_2^{\varphi(n)}\%n\times\ldots\times q_s^{\varphi(n)}\%n %n得:q1φ(n)%n×q2φ(n)%n×...×qsφ(n)%n

用上面得出得结论得: 1 × 1 × ... × 1 = 1 1\times1\times\ldots\times1=1 1×1×...×1=1

至此,证毕。

废话

我证了4天,整整4天!

相关推荐
萧西待水2 小时前
奥赛一本通 1447 靶形数独
算法·深度优先
泯泷4 小时前
那段文字是谁删的?Yjs 14 正式版之前,一套删除归属方案的实现与边界
前端·javascript·算法
hold?fish:palm4 小时前
34 合并K个升序链表
javascript·算法·链表
C++ 老炮儿的技术栈5 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
Navigator_Z6 小时前
LeetCode //C - 1252. Cells with Odd Values in a Matrix
c语言·算法·leetcode
语戚8 小时前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
青山木8 小时前
Hot 100 --- 最长有效括号
java·数据结构·算法·leetcode·动态规划
这料鬼有毒10 小时前
二刷hot100-1143.最长公共子序列
算法·leetcode·动态规划
政企项目老覃10 小时前
边缘 AI 推理部署:安防零售场景下的模型裁剪与端侧落地实践
人工智能·程序人生·算法·性能优化·vllm
I_belong_to_jesus11 小时前
std::unique_ptr成员函数用法
c++