尤拉函式是少於或等於n的數中與n互質的數的數目。
尤拉函式的性質:它在整數n上的值等於對n進行素因子分解後,所有的素數冪上的尤拉函式之積。
就是對於乙個正整數n,小於n且和n互質的正整數(包括1)的個數,記作φ(n) 。
尤拉函式的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn)
其中p1, p2……pn為n的所有質因數,n是不為0的整數。φ(1)=1(唯一和1互質的數就是1本身)。
ll euler
(ll n)}}
if(n>1)
//這是為了如果n還為素數,加乙個這個
t=t/n*
(n-1);
return t;
}
尤拉函式特性:
1 若 a 為質數,phi[a]=a-1;
2 若 a 為質數,b % a=0,phi[a * b] = phi[b] * a
3 若 a,b 互質,phi [a * b]=phi[a] * phi[b](當 a 為質數時,if b % a!=0 ,phi[a*b]= phi[a] * phi[b])
const
int maxn=
10000
;int pd[maxn]
,phi[maxn]
,p[maxn]
,ssnum;
//pd為判斷n是否為素數pd==0為素數,p為素數篩裡面全為素數
//phi為尤拉函式答案,ssnum為當前素數個數
void
oula()
for(
int j =
0;j)//素數篩,篩去i*p[j]
else}}
}
尤拉函式(模板)
尤拉函式介紹 尤拉函式,在數論中用於求解 1 n 中與 n 互質數個數 的函式,因為研究者為尤拉,故命名為尤拉函式。通式 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...
尤拉函式模板
對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目。例如euler 8 4,因為1,3,5,7均和8互質。euler函式表達通式 euler x x 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其中p1,p2 pn為x的所有素因數,x是不為0的整數。euler 1 ...
尤拉函式模板
對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目。例如euler 8 4,因為1,3,5,7均和8互質。euler函式表達通式 euler x x 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其中p1,p2 pn為x的所有素因數,x是不為0的整數。euler 1 ...