欧拉函数(Euler’s Totient Function)是一个重要的数论函数,用于计算小于给定正整数 n 的与 n 互质的正整数的个数。在本文中,我们将实现欧拉函数的算法,并展示如何在 Python 中使用它。
欧拉函数通常用符号 φ(n) 表示,其中 n 是一个正整数。φ(n) 的值表示小于 n 且与 n 互质的正整数的个数。例如,φ(8) 的值为 4,因为小于 8 且与 8 互质的正整数有 1、3、5 和 7。
为了计算 φ(n),我们可以使用以下的欧拉方程算法:
- 初始化变量 result 为 n。
- 对于每个小于等于 n 的素数 p,执行以下步骤:
a. 如果 p 是 n 的因子(即 n 可以被 p 整除),则更新 result = result * (1 - 1/p)。 - 返回 result 的整数部分作为 φ(n) 的值。
现在,让我们用 Python 实现这个算法:
def euler_totient(n)