先思考一个问题:
任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)
求得的这个值叫做欧拉函数,以φ(n)表示。 在1到8之中,与8形成互质关系的是1、3、5、7,所以 φ(8)=4。
φ(n)的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。
注释:
互质是公约数只有1的两个整数,叫做互质整数。
第一种情况:
如果n = 1, 则φ(n)=1,因为1与自己互质。
第二种情况:
如果n是质数,则φ(n)=n−1。因为质数与小于它的每一个数,都构成互质关系。
第三种情况:
如果n是质数的某一个次方,即 n=pk(k∈N+), 则φ(pk)=pk−pk−1. 这是因为只有当一个数不包含质数p,才可能与n互质。而包含质数p的数一共有pk−1个,即1×p、2×p、3×p、...、pk−1×p,把它们去除,剩下的就是与n互质的数。
上述式子的另一种写法为:
φ(pk)=pk−pk−1=pk(1−1p)
第四种情况:
如果n=p1×p2,其中(p1,p2)=1,则有φ(n)=φ(p1p2)=φ(p1)×φ(p2)。即积的欧拉函数等于各个因子的欧拉函数之积。比如,φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24, 这里证明需要“中国剩余定理”。
第五种情况:
由算数基本定理 n=pa11×pa22×...×pakk,由第四个结论可知φ(n)=φ(pa11)×φ(pa22)×...×φ(pakk) , 再由第三条结论可知φ(n)=φ(pa11)×φ(pa22)×...×φ(pakk)=pa11×pa22×...pakk×(1−1p1)×(1−1p2)×...(1−1pk)
=n×(1−1p1)×1p2×...×(1−1pk)
可知最终结果为:
φ(n)=n×(1−1p1)×1p2×...×(1−1pk)