具体代码?
时间: 2023-07-03 10:25:41 浏览: 71
以下是Python语言的代码实现:
```python
def euler_phi(n):
"""
计算小于等于n且与n互质的正整数的个数
"""
phi = n # 初始化phi为n
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
phi -= phi // i
while n % i == 0:
n //= i
if n > 1:
phi -= phi // n
return phi
```
这里用到了欧拉筛法,将n进行质因数分解,然后根据欧拉函数的公式计算出φ(n)的值。时间复杂度为O(sqrt(n))。
阅读全文