1. 程式人生 > >尤拉函式為什麼是積性函式

尤拉函式為什麼是積性函式

//    下面是百度上找的錯誤證明
函式的積性即:若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)。

查了很多資料會證明了: 
// 證明
: 在證明前先了解下以下知識: (a,b)代表最大公約數,[a,b]代表最小公倍數 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) 性質9:若 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
*若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
正好也滿足

相關推薦

hdu5528(函式+函式)

題意:設(題目已把f(6)的表給出),,給定n(n<=1e9),求g(n) 最主要的是求f(m),考慮到模數大於0的情況比較多,所以考慮考慮求ij mod n==0的情況。。 然後其實從題目給的表中看出對一個a來說,他0的個數和gcd(a,n)有關,其實也很容易證明,對一個數a來說

【hdu 5728 PowMod】【數論】【函式】【降冪遞迴取模】【函式

【連結】 http://acm.hdu.edu.cn/showproblem.php?pid=5728 【題意】 n是無平方因子的數 定義k=∑mi=1φ(i∗n) mod 1000000007,求K^k^k^k......%p 【思路】 先尤拉性質求出k

杜教篩(整除分塊,函式與莫比烏斯,狄利克雷卷

參考資料 整除分塊: 當我們求∑ni=1f([ni])∑i=1nf([ni])的時候,如果1到n求一遍感覺太傻了,因為會有很多重複的計算,例如:n=10000時,i在[101,111]時,都有[ni]=9[ni]=9,所以我們只需要對所有數分成如上的一個

【hdu 5728 PowMod】【數論】【函式】【降冪遞迴取模】【函式

【連結】 【題意】 n是無平方因子的數 定義k=∑mi=1φ(i∗n) mod 1000000007,求K^k^k^k......%p 【思路】 先尤拉性質求出k,再用尤拉降冪,A^B=A^B%phi(C)+phi(C)  (mod C)求出答案 ∑(i=1~

函式為什麼是函式

// 下面是百度上找的錯誤證明 函式的積性即:若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'),

6265丨數論丨函式函式丨狄利克雷卷丨思維變換

交題網址(HDU-6265) 題意:依次輸入一個整數分解質因數的各項底數與指數,求算: ∑d|nφ(d)×nd∑d|nφ(d)×nd 思路:(其實最開始還有些數學常識的不足,比如d|n

函式字首和問題

1. 求前n個正整數的約數之和 即 . 解: 或  需要說明的是 是一種常見的表示形式。 當 時, 顯然只有個取值,當 時, ,顯然也只有個取值。當 = k (常數) 時,i的取值區間是 ,因此可以用 複雜度求解。 code: #inclu

【HDOJ5528】Count a * b(函式

題意:設f(i)為0<=x,y<=i-1且xy%i=0的(x,y)對數,g(i)為sigma f(j) [i%j==0] 給定n,求g(n),答案對2^64取模 T<=2e4,n<=1e9 思路:這題堅定了我要找一個專業數學手的決心…… x,y從[0,i-1]等價於從[1,i]

bzoj 4407 於神之怒加強版 —— 反演+篩函式

題目:https://www.lydsy.com/JudgeOnline/problem.php?id=4407 推導如這裡:https://www.cnblogs.com/clrs97/p/5191506.html 然後發現 \( F(D) \) 是一個積性函式,可以篩質數的同時篩出來; 首先,單個質

反演+函式--CF757E Bash Plays with Functions

傳送門 可以很容易推到 f_r(n) = sigema (d|n)  f_r-1(d) f_0(n) = 2^(n的質因子個數) 然後就不知道怎麼辦了 這是一個積性函式的應用小技巧 看出來f_0是一個積性函式,那麼f_r也是積性函式 證明積性函式可以把表示式拆成

HDU 5528 Count a * b (函式)*

#include<bits/stdc++.h> using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++) #def

BZOJ 3944 Sum (函式字首和杜教篩)

#include<bits/stdc++.h> using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++) #def

(數論一)函式與狄利克雷卷

​ 今天做的一道題就是有關積性函式與狄利克雷卷積的,很懵逼。覺得有必要學一手了 一. 積性函式是什麼呢? ​ 對於函式f,對於任意的a,b互質,都有: f(a * b) = f(a) * f(b) ​ 這樣的函式f就稱為積性函式,若a,b不互質也滿足上述條

[絕對能看懂!]Deciphering Password(函式+線性篩+素數分解)

描述 Xiaoming has just come up with a new way for encryption, by calculating the key from a publicly viewable number in the following way: Let t

2018ACM-ICPC南京賽區網路賽: J. Sum(函式字首和)

J. Sum A square-free integer is an integer which is indivisible by any square number except 11. For example, 6 = 2 \cdot 36=2⋅3 is squa

【HDU 5382】 GCD?LCM! (數論、函式

GCD?LCM! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 316    Accepted Submission(s): 200 O

函式 hdu5528 Count a * b

積性函式太有趣了! 做這個題之前,我們需要掌握一些基本知識。 1.若f(x)為積性函式,那麼滿足f(xy)=f(x)f(y) 2.若f(x)為積性函式,g(x)=∑d|xf(d),那麼g(x)也為積性函式 3.學會如何線性處理積性函式。

CF1097D Makoto and a Blackboard 函式、概率期望、DP

傳送門 比賽秒寫完ABC結果不會D……最後C還fst了qwq 首先可以想到一個約數個數\(^2\)乘上\(K\)的暴力DP,但是顯然會被卡 在\(10^{15}\)範圍內因數最多的數是\(978217616376000=2^6 \times 3^4 \times 5^3 \times 7^2 \ti

【總結】函式字首和(杜教篩)

前言: 據CCH和LJH說,杜教篩似乎是一個非常套路的東西,幾乎所有的杜教篩的題目推理方式都是一模一樣的(但實測有些推理還是很噁心的)。所以複習杜教篩不需要太多時間,粗略看一遍,留下印象即可。 杜教篩其實是一種簡化運算的推理方式,它的使用條件並不僅限於積

淺談函式的線性篩法

前置知識 線性篩 線性篩可以在嚴格$O(n)$的時間內篩出積性函式的值, 它有常見的套路 假設$n = p_1^{a_1} p_2^{a_2} \dots p_k^{a_k}$ 如果我們能快速得出$f(p_i)$和$f(p_i^{k+1})$的取值,那麼直接套板子就行了 在下文中如無特殊說