当前位置: 首页 > news >正文

数论中的欧拉函数

欧拉函数(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 = np = 2# 质因数分解while p * p <= n:if n % p == 0:while n % p == 0:n //= presult -= result // pp += 1if n > 1:result -= result // nreturn 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加密算法)的安全基石,通过将难以分解的大数质因数与相对容易的模幂运算相关联,构建了非对称加密的核心机制,使安全的数据传输成为可能。

http://www.hskmm.com/?act=detail&tid=23855

相关文章:

  • 悬荡悟空:一个异想天开的计算神话及其硬件证言
  • 实用指南:Windows中焦点与软键盘
  • OpenLayers地图交互 -- 章节十五:鼠标滚轮缩放交互详解 - 实践
  • 2025对外AI服务合规指南:6步构建可审计的法律法规遵循体系
  • NOI 七
  • 三霍尔BLDC——已知霍尔元件输出与相线输入电压的关系表,如何写程序
  • 第一
  • 2025.10 模拟赛日志
  • Python算法题
  • ZSH 安装配置
  • Spring事务管理:-propagation
  • VSCode 中无法定位 Go 项目中自定义方法或类
  • 写作业
  • P11164 [BalkanOI 2023] Permutations
  • Spring事务管理:-rollbackFor
  • 微信图片批量保存的办法
  • 详细介绍:使用 C# 设置 Excel 单元格数据验证
  • 10.3 闲话-分散层叠
  • 博客园实验1
  • arm汇编
  • 模型与分词器
  • subclipse最新版本更新地址
  • 板子2
  • 从DQN到Double DQN:分离动作选择与价值评估,解决强化学习中的Q值过估计问题
  • P9877/QOJ5069 Vacation
  • CF1916G Optimizations From Chelsu
  • 详细介绍:微服务架构:基于Spring Cloud ,构建同城生活服务平台
  • 云锵投资 2025 年 9 月简报
  • 【游记】北京师范大学讲课
  • 字符串Hash