尤拉函式演算法

2022-06-02 17:39:06 字數 961 閱讀 8805

尤拉函式

1/*2

尤拉函式:

3小於或等於n的正整數中,與n互質的數的數目4*/

5 #include6

#define n 3000005

7__int64 ans[n];

8void init() //

打表法 916

}17int euler(int n) //

直接求法

1826}27

}28if(n>1) ret*=n-1;29

return

ret;

30}

31int main(void)32

38return0;

39 }

view code

求尤拉函式演算法

1

2種求尤拉函式的演算法21

,3void

init()

4 16}

17}1819

2,利用素數篩選:

20void

init()

21 //

篩素數34

35 e[1] = 1;36

37for (i=1; i<=p[0]; i++)

38 e[p[i]] = p[i] - 1; //

初始化素數的phi

3940

for (i=2; i)

41 //

利用上述性質求解

53} 54}

55return;56

}572,篩選法(求某乙個數的):

58int euler(int

x)5969}

70int s=0;71

for(i=1;i)

72if(!a[i]) s++;

73return

s;74 }

view code

演算法提高 尤拉函式

說明 2016.4.5 已更新試題,請重新提交自己的程式。問題描述 給定乙個大於1,不超過2000000的正整數n,輸出尤拉函式,phi n 的值。如果你並不了解尤拉函式,那麼請參閱提示。輸入格式 在給定的輸入檔案中進行讀入 一行乙個正整數n。輸出格式 將輸出資訊輸出到指定的檔案中 一行乙個整數表示...

尤拉函式 尤拉定理

尤拉函式 對正整數 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 ...