欧拉函数的定义:E(k)=([1,n-1]中与n互质的整数个数).
因为任意正整数都可以唯一表示成如下形式:
k=p1^a1*p2^a2*……*pi^ai;(即分解质因数形式)
可以推出:E(k)=(p1-1)(p2-1)……(pi-1)*(p1^(a1-1))(p2^(a2-1))……(pi^(ai-1))
=k*(p1-1)(p2-1)……(pi-1)/(p1*p2*……pi);
=k*(1-1/p1)*(1-1/p2)....(1-1/pk)
ps:在程序中利用欧拉函数如下性质,可以快速求出欧拉函数的值(a为N的质因素)
若(N%a==0 && (N/a)%a==0) 则有:E(N)=E(N/a)*a;
若(N%a==0 && (N/a)%a!=0) 则有:E(N)=E(N/a)*(a-1);
推荐题目:
入门:
poj3090 Visible Lattice Points
poj2407 Relatives
poj2478 Farey Sequence
欧拉函数高级应用:
poj2480 Longge's problem
poj1091 跳蚤
posted on 2007-10-28 17:51
R2 阅读(762)
评论(0) 编辑 收藏 引用