找新朋友(尤拉函式)

2022-08-23 03:18:06 字數 1003 閱讀 9095

新年快到了,「豬頭幫協會」準備搞乙個聚會,已經知道現有會員n人,把會員從1到n編號,其中會長的號碼是n號,凡是和會長是老朋友的,那麼該會員的號碼肯定和n有大於1的公約數,否則都是新朋友,現在會長想知道究竟有幾個新朋友?請你程式設計序幫會長計算出來。

input第一行是測試資料的組數cn(case number,1sample output

7680

16016

在數論,對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目。此函式以其首名研究者尤拉命名,它又稱為euler』s totient function、φ函式、尤拉商數等。 例如φ(8)=4,因為1,3,5,7均和8互質。 從尤拉函式引伸出來在環論方面的事實和拉格朗日定理構成了尤拉定理的證明。

通式:φ(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互質的數(小於等於1)就是1本身)。 (注意:每種質因數只乙個。比如12=2*2*3那麼φ(12)=12*(1-1/2)*(1-1/3)=4 

若n是質數p的k次冪,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因為除了p的倍數外,其他數都跟n互質。 

設n為正整數,以 φ(n)表示不超過n且與n互 

素的正整數的個數,稱為n的尤拉函式值,這裡函式 

φ:n→n,n→φ(n)稱為尤拉函式。 

尤拉函式是積性函式——若m,n互質,φ(mn)=φ(m)φ(n)。 

特殊性質:當n為奇數時,φ(2n)=φ(n), 證明與上述類似。 

若n為質數則φ(n)=n-1。

這種題目對於我來說是真的沒辦法

#includeusing namespace std;

const int maxn=32790;

int euler[maxn+2];

void make()

int main()

return 0;

}

找新朋友(尤拉函式)

新年快到了,豬頭幫協會 準備搞乙個聚會,已經知道現有會員n人,把會員從1到n編號,其中會長的號碼是n號,凡是和會長是老朋友的,那麼該會員的號碼肯定和n有大於1的公約數,否則都是新朋友,現在會長想知道究竟有幾個新朋友?請你程式設計序幫會長計算出來。input第一行是測試資料的組數cn case num...

找新朋友(尤拉互質)

找新朋友 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 新年快到了,豬頭幫協會 準備搞乙個聚會,已經知道現有會員n人,把會員從1到n編號,其中會長的號碼是n號,凡是和會...

hdu 1286 找新朋友(尤拉函式)

一道赤裸裸的尤拉函式題!原來只知道尤拉這個人 真是頭髮短見識更短,慚愧,以後課下還是要了解一些其他方面的知識 嘿嘿 用了尤拉函式!這就是一道水題嗎 呵呵呵 附上尤拉函式的講解 在數論 對正整數 n,尤拉 函式是少於或等於n的數中與n 互質的數的數目。此函式以其首名研究者尤拉命名,它又稱為euler ...