数论中的欧拉函数

欧拉函数(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加密算法)的安全基石,通过将难以分解的大数质因数与相对容易的模幂运算相关联,构建了非对称加密的核心机制,使安全的数据传输成为可能。

posted @ 2025-10-03 23:09  Ofnoname  阅读(35)  评论(0)    收藏  举报