ACM 尤拉函式

2021-06-26 19:40:41 字數 889 閱讀 2637

尤拉函式被定義為小於或等於n的數中與n互質的個數。它的一般計算式是:phi(n) = n*(1-1/p1)*(1-1/p2)*...*(1-1/pk),其中p1...pk為n的所有質因子。

關於尤拉函式有如下幾點性質:

1、phi(1) = 1

2、若n是質數,那麼phi(n) = n-1

3、若n是質數x的k次冪,phi(n) = (x-1)*x^(k-1)

4、若m,n互質,那麼phi(m*n) = phi(m)*phi(n)

5、若n是奇數,那麼phi(2*n) = phi(n)

6、若x,y是質數,且n = x*y,那麼phi(n) = (x-1)*(y-1)

6、小於n且與n互質的數的和為:n/2 * phi(n)

下面的**求出了整數n的尤拉函式值:

#include int getphi(int n)

if(n > 1) ans = ans/n * (n-1);

return ans;

}

下面的**求出了1~n中所有數的尤拉函式值,並儲存在了phi陣列中:

const int maxn = 3e6+5;

__int64 phi[maxn];

void phitable(int n)

}

下面的**求出了1~n中所有數的尤拉函式值的字首和,並儲存在了f陣列中:

const int maxn = 3e6+5;

__int64 f[maxn];

void sumphitable(int n)

}int main()

return 0;

}

尤拉函式 尤拉定理

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

尤拉函式尤拉篩

尤拉函式求小於等於n與n互質的數的個數 複習時發現這個知識點竟然沒有整理 n為素數即為n 1 除了其本身 n為素數的倍數 ola sushu j i ola i sushu j else ola sushu j i ola i sushu j 1 include include include in...