数论中的欧拉函数究竟是什么?

摘要:欧拉函数(Euler's totient function),记作 (phi(n)),是数论中一个非常重要的函数。它的定义很简单: 对于正整数 (n),(phi(n)) 表示小于等于 (n) 且与
欧拉函数(Euler's totient function),记作 \(\phi(n)\),是数论中一个非常重要的函数。它的定义很简单: 对于正整数 \(n\),\(\phi(n)\) 表示小于等于 \(n\) 且与 \(n\) 互质的正整数的个数。 \(\phi(1) = 1\)(只有 1 与 1 互质) \(\phi(5) = 4\)(1, 2, 3, 4 都与 5 互质) \(\phi(9) = 6\)(与 9 互质的数:1, 2, 4, 5, 7, 8) \(\phi(10) = 4\)(与 10 互质的数:1, 3, 7, 9) 欧拉函数积性性质 欧拉函数的积性性质(multiplicative property)是它最重要的特性之一,也是各种计算和应用的基础。这个性质说的是: 如果 \(m\) 和 \(n\) 互质(即 \(\gcd(m, n) = 1\)),那么 \(\phi(mn) = \phi(m) \cdot \phi(n)\) 这个性质的证明需要使用中国剩余定理,可以证明 \(\phi(mn)\) 集合中包含的每个数和 \(\phi(m)\) 和 \(\phi(n)\) 集合的直积元素一一对应,所以他们的数量相等(具体证明略)。让我们通过例子来理解这个证明: 取 \(m = 3\),\(n = 4\)(互质),\(mn = 12\) \(A = \{1, 2\}\)(与 3 互质的数),\(\phi(3) = 2\) \(B = \{1, 3\}\)(与 4 互质的数),\(\phi(4) = 2\) \(C = \{1, 5, 7, 11\}\)(与 12 互质的数),\(\phi(12) = 4\) 建立对应关系: \((a, b)\) 同余方程组 解 \(x\) \((1, 1)\) \(x \equiv 1 \pmod{3}, x \equiv 1 \pmod{4}\) \(x = 1\) \((1, 3)\) \(x \equiv 1 \pmod{3}, x \equiv 3 \pmod{4}\) \(x = 7\) \((2, 1)\) \(x \equiv 2 \pmod{3}, x \equiv 1 \pmod{4}\) \(x = 5\) \((2, 3)\) \(x \equiv 2 \pmod{3}, x \equiv 3 \pmod{4}\) \(x = 11\) 确实建立了 \(A \times B\) 到 \(C\) 的一一对应! 如何计算欧拉函数 素数的情况:如果 \(p\) 是素数,显然 \(\phi(p) = p - 1\) 例:\(\phi(7) = 6\),\(\phi(13) = 12\) 合数的情况:有了积性性质,我们就能推导出欧拉函数的通用计算公式: 如果 \(n = p_1^{k_1} p_2^{k_2} \cdots p_r^{k_r}\),那么: \[\begin{aligned} \phi(n) &= \phi(p_1^{k_1}) \cdot \phi(p_2^{k_2}) \cdots \phi(p_r^{k_r}) \\ &= (p_1^{k_1} - p_1^{k_1-1}) \cdot (p_2^{k_2} - p_2^{k_2-1}) \cdots (p_r^{k_r} - p_r^{k_r-1}) \\ &= n \cdot \left(1 - \frac{1}{p_1}\right) \cdot \left(1 - \frac{1}{p_2}\right) \cdots \left(1 - \frac{1}{p_r}\right) \end{aligned} \] 例题1:计算 \(\phi(100)\) 质因数分解:\(100 = 2^2 \cdot 5^2\) \(\phi(100) = 100 \cdot \left(1 - \frac{1}{2}\right) \cdot \left(1 - \frac{1}{5}\right) = 100 \cdot \frac{1}{2} \cdot \frac{4}{5} = 40\) 例题2:计算 \(\phi(36)\) 质因数分解:\(36 = 2^2 \cdot 3^2\) \(\phi(36) = 36 \cdot \left(1 - \frac{1}{2}\right) \cdot \left(1 - \frac{1}{3}\right) = 36 \cdot \frac{1}{2} \cdot \frac{2}{3} = 12\) def euler_phi(n): """计算欧拉函数 φ(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 欧拉定理 欧拉定理是欧拉函数最重要的应用之一,它是费马小定理的推广: 如果 \(\gcd(a, n) = 1\),那么: \[a^{\phi(n)} \equiv 1 \pmod{n} \] 例子:取 \(n = 10\),\(\phi(10) = 4\),\(a = 3\)(\(\gcd(3, 10) = 1\)): \[3^4 = 81 \equiv 1 \pmod{10} \] 欧拉函数 \(\phi(n)\) 作为数论中计算与 \(n\) 互质正整数个量的关键工具,其核心价值体现在欧拉定理 \(a^{\phi(n)} \equiv 1 \pmod{n}\)(当 \(\gcd(a,n)=1\) 时)这一优美等式中,这一定理不仅为模逆元计算和模幂运算提供了理论基础,更是现代密码学(尤其是RSA加密算法)的安全基石,通过将难以分解的大数质因数与相对容易的模幂运算相关联,构建了非对称加密的核心机制,使安全的数据传输成为可能。