尤拉函式學習

2021-09-24 12:18:22 字數 475 閱讀 7981

學習尤拉函式首先要理解線性篩。普通的篩法就不記錄了。

bool number[maxn+5];

void isprime()

{ int prime[maxn+5];

int i,j,c=0;

memset(number,true,sizeof(number));

for(i=2;i<=maxn;i++)

{if(number[i])

prime[c++]=i;

for(j=0;j這個是我不想重寫了,直接粘了一下。

記錄一下我的理解:剛開始初始化假設都是素數,然後把找到的素數的倍數(i倍)都標記為不是素數。

至於為什麼會有i%prime[j]==0 break;

如果i是素數j的倍數,那麼 i*prime[j+1]會被prime[j]篩掉。

同理j+1後邊的數也會被prime[j]篩掉。

關於尤拉函式的學習都在這裡和這裡

線性篩尤拉函式學習筆記

我回來了,在被模板蹂躪之後。預先規定 參考篩素數的線性篩,當篩到數字 i 時,小於 i 的數的尤拉函式和小於 i 的質數已經篩出,利用 i 和 s 向後更新。對於數字 i 如果此時 f i 0 說明這個數的最小質因數不會在 left 2,i 1 right 的範圍內出現,也易得數字 i 是個質數,根...

尤拉函式 尤拉定理

尤拉函式 對正整數 n,尤拉函式 是小於等於 n的數中與 n互質的數的數目 此函式以其首名研究者尤拉命名 euler so totientfunction 它又稱為 euler stotient function 函式 尤拉商數等。例如 8 4,因為 1,3,5,7均和8 互質。注 n為1時尤拉函式...

尤拉函式 尤拉定理

尤拉函式 設 n 為正整數,則 1,2,n 中與 n 互素的整數的個數計作 n 叫做尤拉函式。設 p 是素數,p p 1設 p 是素數,pa pa p a 1 設 p,q 是不同的素數,n q p,n p q 即 n p 1 q 1 設 m,n 是兩個正整數,且 m,n 1,若 n m n,n m ...