欧拉函数不理解?上定义:
在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(因此φ(1)=1)。此函数以其首名研究者欧拉命名(Euler’s totient function),它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。
理解了不会写的代码?废话不多说,上代码:
def euler_function(n):
j = 0
"""欧几里得算法求是否与n互素"""
for i in range(2, n):
a = n
q = i
r = a % i
while r != 1 and r != 0:
a = int(q)
q = int(r)
r = int(a) % int(q)
"""如果互素则计数+1"""
if r == 1:
j += 1
elif r == 0:
pass
print(j+1)
if __name__ == '__main__':
n = int(input("请输入欧拉函数的n"))
euler_function(n)