python 欧拉函数
时间: 2023-11-07 08:48:52 浏览: 201
欧拉函数(Euler's totient function),通常用符号 φ(n) 表示,是一个计算与正整数 n 互质的不超过 n 的正整数个数的函数。具体定义如下:
对于任意正整数 n,φ(n) 表示小于等于 n 的正整数中与 n 互质的数的个数。
计算欧拉函数的一种常用方法是使用质因数分解。假设 n 可以分解为 p1^k1 * p2^k2 * ... * pm^km,其中 p1, p2, ..., pm 是不同的质数,k1, k2, ..., km 是对应的幂次。
则根据欧拉函数的性质,有以下公式成立:
φ(n) = n * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pm)
其中,p1, p2, ..., pm 是 n 的所有质因数。
在 Python 中,可以通过编写一个函数来计算欧拉函数,例如:
```python
def euler_phi(n):
result = n
i = 2
while i * i <= n:
if n % i == 0:
while n % i == 0:
n //= i
result -= result // i
i += 1
if n > 1:
result -= result // n
return result
```
使用该函数,我们可以计算给定正整数 n 的欧拉函数值,例如:
```python
print(euler_phi(10)) # 输出: 4
print(euler_phi(16)) # 输出: 8
print(euler_phi(30)) # 输出: 8
```
希望能解答到您的问题。如果有任何进一步的疑问,请随时提问!
阅读全文