尤拉函式求互質數個數

2021-08-22 19:17:20 字數 596 閱讀 5238

求解與n(1-n-1)互質的質因子的個數

解析:定義:對於正整數n,φ(n)是小於或等於n的正整數中,與n互質的數的數目。

例如:φ(8)=4,因為1,3,5,7均和8互質。

性質:1.若p是質數,φ(p)= p-1.

2.若n是質數p的k次冪,φ(n)=(p-1)*p^(k-1)。因為除了p的倍數都與n互質

3.尤拉函式是積性函式,若m,n互質,φ(mn)= φ(m)φ(n).

根據這3條性質我們就可以推出乙個整數的尤拉函式的公式。因為乙個數總可以寫成一些質數的乘積的形式。

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)

在程式中利用尤拉函式如下性質,可以快速求出尤拉函式的值(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);

國慶集訓day6 T2 尤拉函式求互質數個數

第一行乙個正整數n,表示要求經過n次反射後經過發射的位置。output format 輸出共一行,表示方案數。資料範圍 對於60 的資料,n 10 6 對於100 的資料,n 10 12 解決方法 時間n的平方根。此題codes include include include include inc...

得到互質數的個數 輕鬆認識尤拉函式

尤拉函式用來求 在小於x的正整數且與x互質 公約數只有1 的數的個數,一般用 x 表示,這個 x 就是尤拉函式,也就是用來解決 在1 x之間有多少個數與x構成互質關係 的問題 特別的,1 1,是直積符號,表示連乘 其中p1,p2 pi pn為x的所有質因數,x是乙個正整數 根據唯一分解定理,我們可以...

尤拉函式求互質對數和尤拉降冪

尤拉函式求互質對數 尤拉函式 直接上 include include include includeusing namespace std int oular int n if n 1 return ans int main return 0 尤拉函式素數篩 暫未理解 include include...