证明 n 等于它所有的因子的欧拉函数之和

当 n 是质数时,易证。

当 n 是合数时,可以把 n 分解 n= ,紧接着求 n 的因子,就是从 n 分解后的东西中选质因子和质因子的幂数,

当 m>1 时,那么可得 ,因为都小于n,所以可以用归纳法,证明成立。

当 m=1 时,也易证。

 

另一种证明方法是来自《信息安全数学基础》(陈恭亮)。

转载于:https://www.cnblogs.com/ahahah/p/4918145.html

### 欧拉函数的定义 欧拉函数 \( \phi(n) \) 定义为小于等于整数 \( n \) 的所有与 \( n \) 互质的正整数的数量。形式化表示如下: \[ \phi(n) = |\{k : 1 \leq k \leq n, \gcd(k, n) = 1\}| \] 其中,\( \gcd(a, b) \) 表示两个整数 \( a \) \( b \) 的最大公约数。 --- ### 欧拉函数的计算公式及其证明 #### 计算公式 对于任意正整数 \( n \),其素因数分解可以写成 \( n = p_1^{e_1} p_2^{e_2} \cdots p_k^{e_k} \),则欧拉函数可以通过以下公式计算: \[ \phi(n) = n \prod_{i=1}^k \left(1 - \frac{1}{p_i}\right) \tag{1} \] #### 公式推导 为了理解上述公式的由来,可以从集合的角度分析。假设我们有一个大小为 \( n \) 的集合 \( S = \{1, 2, \dots, n\} \),我们需要从中筛选出那些与 \( n \) 不互质的元素并排除掉。 1. **第一步:考虑单个素因子的影响** 假设 \( n \) 被某个素数 \( p \) 整除,则所有形如 \( kp \) (即 \( k \in \{1, 2, \dots, \lfloor n/p \rfloor\} \))的数都与 \( n \) 不互质。因此,在集合 \( S \) 中不与 \( n \) 互质的数的比例为 \( 1/p \)[^3]。 2. **第二步:多个素因子的情况** 如果 \( n \) 同时被多个不同的素数 \( p_1, p_2, \dots, p_k \) 整除,则需要利用容斥原理来精确计数哪些数与 \( n \) 不互质。最终得到的结果正是公式 (1) 所描述的形式[^4]。 通过以上两步推理可得欧拉函数的具体表达式。 --- ### 特殊情况下的简化公式 - 当 \( n = p \) 是一个质数时, \[ \phi(p) = p - 1 \] 这是因为除了 \( p \) 自身外的所有较小自然数均与其互质[^1]。 - 若 \( n = p^k \)(这里 \( p \) 仍是一个质数),那么 \[ \phi(p^k) = p^k - p^{k-1} \] 即从总数 \( p^k \) 减去能被 \( p \) 整除的部分数量 \( p^{k-1} \)。 --- ### 总结代码实现 以下是基于上述理论的一个 Python 实现例子用于求解给定数值对应的欧拉函数值: ```python def euler_phi(n): result = n p = 2 while p * p <= n: if n % p == 0: while n % p == 0: n //= p result -= result // p p += 1 if n > 1: result -= result // n return result print(euler_phi(10)) # 输出应为4 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值