欧拉函数

欧拉函数为什么是积性函数?
// 下面是百度上找的错误证明
函数的积性即:若m,n互质,则φ(mn)=φ(m)φ(n)。由“m,n互质”可知m,n无公因数,

所以φ(m)φ(n)=m(1-1/p1)(1-1/p2)(1-1/p3)…(1-1/pn)·n(1-1/p1')(1-1/p2')(1-1/p3')…(1-1/pn'),//这里已经用了欧拉公式,而欧拉公式是需要先有积性前提才推导的

其中p1,p2,p3...pn为m的质因数,p1',p2',p3'...pn'为n的质因数,而m,n无公因数,
所以p1,p2,p3...pn,p1',p2',p3'...pn'互不相同,
所以p1,p2,p3...pn,p1',p2',p3'...pn'均为mn的质因数且为mn质因数的全集,
所以φ(mn)=mn(1-1/p1)(1-1/p2)(1-1/p3)…(1-1/pn)(1-1/p1')(1-1/p2')(1-1/p3')…(1-1/pn'),
所以φ(mn)=φ(m)φ(n)。

http://hi.baidu.com/qifeiyixue77/item/26fdc54834a32c1c6dc2f085

查了很多资料会证明了:
// 证明
在证明前先了解下以下知识:
(a,b)代表最大公约数,[a,b]代表最小公倍数
VIP: m|(a-b) <=> a≡b (mod m)
a=pm+r (0<=r<m)
b=qm+r (0<=r<m)
由此可以推出:
性质1:a≡a(mod m),(反身性)
这个性质很显然.因为a-a=0=m·0。
性质2:若a≡b(mod m),那么b≡a(mod m),(对称性)。
性质3:若a≡b(mod m),b≡c(mod m),那么a≡c(mod m),(传递性)。
性质4:若a≡b(mod m),c≡d(mod m),那么a±c≡b±d(mod m),(可加减性)。
性质5:若a≡b(mod m),c≡d(mod m),那么ac≡bd(mod m)(可乘性)。
证明 :m|(a-b) , m|(c-d) 设 a-b=km c-d=lm (ac-bd)=klm^2+(b+d)m =>m|(ac-bd)
性质6:若a≡b(mod m),那么an≡bn(mod m),(其中n为自然数)。
证明 : m|(a-b) => m|n*(a-b)
性质7:若ac≡bc(mod m),(c,m)=1,那么a≡b(mod m),(记号(c,m)表示c与m的最大公约数)。
证明 : m|c(a-b) d=(m,c)=>m/d|(a-b) => a≡b(mod m/d)=>当 d=1时 即(c,m)=1上面结论成立
性质8:若a≡b(mod m),那么a的n次方和b的n次方也对于m同余
证明 :a^n-b^k=(a-b)(a^(n-1)+a^(n-2)b.....b^(n-1)) +m|(a-b) ==>m|(a^n-b^n)
性质8 :若 a≡b(mod m1) a≡b(mod m2).... a≡b(mod mi) 则 a≡b(mod [m1,m2,..mi])
证明:m1 |(a-b) m2|(a-b) ..mi|(a-b) =>[m1,m2...mi]|(a-b) (因为 a-b里面含了 m集合的所有因子和每个因子的最大个数)
推论 m1,m2..mi两两互质 则 a≡b(mod m1m2..mi);

定义 : X 代表 M 简化剩余系 个数φ(M) (有关简化正余系含义,百度吧)
Y 代表 N 简化剩余系 个数φ(N)
xi 代表X的元素 yj代表Y的元素

下面证明: φ(MN)=φ(M)φ(N) 其中(M,N)=1
我们需要证明 A: (xiN+yjM,MN)=1,xiN+yjM 代表的集合元素两两不在同一剩余系里 这样个数肯定是φ(M)φ(N)个了 B: xiN+yM 可以代表 MN 的简化剩余系每个元素就可以了;
证明 A:
(xi,M)=1; => (xiN,M)=1; =>(xiN+yiM,M)=1; ....1
(yi,N)=1; => (yiM,N)=1; =>(yiM+xiN,N)=1; ....2
由 1,2 => (xiN+yiM,MN)=1; 上面都是由数之间互质才推导的

xiN+yjM≡xkN+ylM (mod MN)
=> xiN+yjM≡xkN+ylM (mod M)
=> xiN≡xkN (mod M)
由性质 7 =>xi≡xk (mod M)=> i=k 同理 j=l 所以 xiN+yjM 代表的集合元素两两不在同一剩余系里
B:
设 Z 是MN 的简化剩余系的集合的任意某个元素
由于 (N,M)=1 => 存在 x0,y0 --> Mx0+Ny0=1 => Mx0Z+Ny0Z=Z
=>存在 x,y --> Mx+Ny=Z ......1
(Z,MN)=1; =>(Mx+Ny,M)=1; =>(Ny,M)=1; =>(y,M)=1 =>y≡xi (mod M) 同理可得 x=yj (mod N)
y≡xi (mod M) => Ny≡Nxi (mod MN) 同理 Mx=Myj (mod MN)
根据同余性质
Ny+Mx=Myj+Nxi (mod MN)
=> Z=xiN+yjM (mod MN)
MN 的简化剩余系每个元素都可以用 xiN+yjM表示
综上 xiN+yjM 有 φ(M)φ(N)个元素 且每个与 MN互质,xiN+yjM两两不在同一剩余系里面
可得 φ(MN)=φ(M)φ(N) 其中(M,N)=1
http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin

E(x)表示比x小的且与x互质的正整数的个数。
*若p是素数,E(p)=p-1*E(p^k)=p^k-p^(k-1)=(p-1)*P^(k-1) 证:令n=p^k,小于n的正整数数共有n-1即(p^k-1)个,其中与p不质的数共[p^(k-1)-1]个(分别为1*p,2*p,3*p...p(p^(k-1)-1))。 所以E(p^k)=(p^k-1)-(p^(k-1)-1)=p^k-p^(k-1).得证。 *若ab互质,则E(a*b)=E(a)*E(b),欧拉函数是积性函数. *对任意数n都可以唯一分解成n=p1^a1*p2^a2*p3^a3*...*pn^an(pi为素数). 则E(n)=E(p1^a1)*E(p2^a2)*E(p3^a3)*...*E(pn^an) =(p1-1)*p1^(a1-1)*(p2-1)*p2^(a2-1)*...*(pn-1)*pn^(an-1) =(p1^a1*p2^a2*p3^a3*...*pn^an)*[(p1-1)*(p2-1)*(p3-1)*...*(pn-1)]/(p1*p2*p3*...*pn) =n*(1-1/p1)*(1-1/p2)*...*(1-1/pn) * E(p^k) =(p-1)*p^(k-1)=(p-1)*p^(k-2)*p E(p^(k-1))=(p-1)*p^(k-2) ->当k>1时,E(p^k)=E(p*p^(k-1))=E(p^(k-1))*p. (当k=1时,E(p)=p-1.) 由上式: 设P是素数, 若p是x的约数,则E(x*p)=E(x)*p. 若p不是x的约数,则E(x*p)=E(x)*E(p)=E(x)*(p-1).
小记:

d=gcd(a,b); a'd=a b'd=b (a',b')=1
要 d=gcd (b,a-qb) 要成立 则(b',a'-qb')=1
证明 (b',a'-qb')=1;
假设 b',a'-qb' 不互质 则 设 b'=kd' a'-qb'=ld' d'>1
则 a'-q(kd')=ld' a'=(qk+l)d' 与 (a',b')矛盾

问题描述:
给出一个N,求1..N中与N互质的数的和

if gcd(n,i)=1 then gcd(n,n-i)=1 (1<=i<=n)

反证法:
如果存在K!=1使gcd(n,n-i)=k,那么(n-i)%k==0
而n%k=0
那么必须保证i%k=0
k是n的因子,如果i%k=0那么
gcd(n,i)=k,矛盾出现;
于是问题变的非常简单
ANS=N*phi(N)/2
i,n-i总是成对出现,并且和是n
于是可能就有人问了,如果存在n-i=i那不是重复计算?
答案是不会
因为:
n=2*i->i=n/2
1.如果n是奇数,那么n!=2*i,自然也不存在
n-i=i和重复计算之说
2.如果n是偶数,n=2*i成立,gcd(n,n/2)必然为n的一个因子,这个因子为1当且仅当n==2
于是对于n>2的偶数,绝对不存在gcd(n,n/2)=1所以更别说什么重复计算了
对于n==2
ans=2*1/2=1
正好也满足

练习:
hdu 3501
待续、、、

posted on 2012-10-16 16:31  江财小子  阅读(1369)  评论(0编辑  收藏  举报