尤拉函式 篩法 模板

2022-02-02 09:27:30 字數 621 閱讀 1426

記牢通式

=x((p1-1)/p1) * ((p2-1)/p2)....((pn-1)/pn)

int eular(int

n) }

if(x > 1) res = res/x*(x-1); //

可能是最後乙個質數

return

res;

}

首先:性質 1. phi(p)=p-1   因為質數p除了1以外的因數只有p,故1至p的整數只有p與p不互質

性質 2. 如果i mod p = 0, 那麼phi(i * p)=p * phi(i)  

性質 3. 若i mod p ≠0,  那麼phi(i * p)=phi(i) * (p-1)

//

和素數的尤拉篩法

void get_eular(int

n)

for(int j = 0; j < tot; j++)

else}}

}

AcWing 篩法求尤拉函式 篩法 尤拉函式

時 空限制 1s 64mb 給定乙個正整數n,求1 n中每個數的尤拉函式之和。共一行,包含乙個整數n。共一行,包含乙個整數,表示1 n中每個數的尤拉函式之和。1 n 10 6 題意 求1 n中每個數的尤拉函式之和。思路 在這個題目中我們不能直接分別去求1 n之間的尤拉函式,會超時,所以我們就可以根據...

篩法尤拉函式

尤拉函式 因為對於n來說,小於等於n的正整數有n個,但是因為n是素數,n與其本身並不互質,所以有n 1個數跟它互質。若n為質數p的k次方 那麼 n p 1 pk n pk p是質數 所以乙個數要想跟n互質的話應該不是p的倍數,p的倍數有p p,2 p,3 p pn 1 p,共有pn 1個,小於等於n...

模板 線性篩素數 尤拉篩法

o n 處理出n以內所有素數 使用 合數 最大因數 除1和本身外 最小質因數 的原理來篩,每個數隻會被篩一次 對於每個數i,令它是某數的最大因數,然後從小到大地找 i的素數j,則i j是合數 直到找到某個j使得 i j 0 因為再往後的話,j i的某個因子,我們能交換j 和i的這個因子,所以i不是i...