hdoj 1286 (欧拉函数)

来源:互联网 发布:知乎文章怎么看 编辑:程序博客网 时间:2024/06/08 00:57

题目大意:赤裸裸的欧拉函数.


 

φ(m)表示不超过m,而和m互质的正整数的个数,则φ(m)称为欧拉函数.


定理1:

p为质数,则我们有

1)    φ(p) = p - 1 ;

2)    n为正整数,φ(pn)= pn(1-1/p).

证明:

1)      由于1,2,…,p-1都与p互质,所以φ(p) = p -1;

2)       n 是一个正整数,由于(a,pn)=1  <=>  (a,p)=1,因此,不超过pn而为p的倍数的的正整数个数为[pn/p] =pn-1.所以不超过pn且与pn互质的正整数的个数为φ(pn)=pn-pn-1=pn(1-1/p).

 

定理2:

a=p1a1p2a2…pnan a 的标准分解式,

φ(a)= a(1-1/p1)(1-1/p2)…(1-1/pn).

 

证明:

因为不超过a而为p1的倍数的正整数,共有 [a/p1] = a / p1,它们分别为:

       p1, 2p1, 3p1,4p1,... ,[a/p1]p1

所以不超过a,而与p1互质的正整数的个数为a - a/p1 = a(1-1/p1) ;

 

因为不超过a而为p2的倍数的正整数,共有[a/p2] = a / p2:

       p2, 2p2, 3p2,4p2,…[a/p2]p2

但这a/p2p2的倍数中,有些已是p1的倍数,在计算p1的倍数时以计算过,这些数是在1,2,3,…a/p2,p1互质的正整数的个数,它共有(a/p2)*(1-1/p1).

于是,不超过a,而与p1,p2都互质的正整数的个数为

       a(1-1/p1)-a/p2(1-1/p1)=a(1-1/p1)(1-1/p2).

又因为不超过a而为p3的倍数的正整数,共有[a/p3]=a/p3:

       p3, 2p3, 3p3,4p3,…[a/p3]p3

但这a/p3p3的倍数中,有些也是p1,p2的倍数,所以要除去它们.

由上述的计算方法可知,不超过a且与p1,p2,p3都互质的正整数的个数为:

       a(1-1/p1)(1-1/p2)-a/p3(1-1/p1)(1-1/p2)=a(1-1/p1)(1-1/p2)(1-1/p3).

 

因为n是有限数,故得不大于a而与p1,p2,p3,…pn都互质的正整数的个数共有:

       a(1-1/p1)(1-1/p2)…(1-1/pn)个,

φ(a)= a(1-1/p1)(1-1/p2)…(1-1/pn).成立

 

推论:

(a,b)=1,φ(ab)=φ(a)φ(b).

 

 

 

 

原创粉丝点击