先思考一个问题:
任意给定正整数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)