尤拉函式(提供1到N中與N互質的數)

2021-08-21 22:35:18 字數 437 閱讀 2048

當個板子放著,具體是看了這篇部落格:尤拉函式求法與應用

尤拉函式用希臘字母φ表示,φ(n)表示n的尤拉函式.

對φ(n)的值,我們可以通俗地理解為小於n且與n互質的數的個數(包含1).

//直接求解尤拉函式  

int euler(int n)

} if(a>1) res=res/a*(a-1);

return res;

}

它在o(n)的時間內遍歷了所有的數,並且有很多的附加資訊,

我們可以在篩素數的同時求出所有數的尤拉函式

void init(){

euler[1]=1;

for(int i=2;i拓展:

尤拉公式的延伸:對於乙個數,與其互質的數的總和是euler(n)*n/2。

尤拉函式(求與n互質的數的個數)

求解與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互質 p ...

小於n與n互質的所有數的和(尤拉函式 快速冪)

尤拉函式的含義 對於正整數n,n 的值表示 小於n並且與n互質 的整數 個數。尤拉函式公式 x x 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其中p1,p2 pn為x的所有質因數,x是不為0的整數。性質 1.1 1 2.對於素數p,p p 1 3.小於n並與n互質的數的和...

容斥原理求1到n與k互質個數

參考部落格 傳送門 題目 hdu 4135 此處的k 1e9 include include include include includeusing namespace std typedef long long ll const int qq 10005 int num int prime qq...