性質:
尤拉函式用希臘字母φ表示,φ(n)表示n的尤拉函式.
對φ(n)的值,我們可以通俗地理解為小於n且與n互質的數的個數.
尤拉函式的一些性質:
1.尤拉函式是積性函式,但不是完全積性函式,即φ(mn)=φ(n)*φ(m)只在(n,m)=1時成立.
2.對於乙個正整數n的素數冪分解n=p1^q1*p2^q2*…*pn^qn.
φ(n)=n*(1-1/p1)(1-1/p2)…*(1-1/pn).
3.除了n=2,φ(n)都是偶數.
4.設n為正整數,∑φ(d)=n (d|n).
根據性質2,我們可以在o(sqrt(n))的時間內求出乙個數的尤拉函式值.
#include
#define ll long long
#define maxn 100000
unsigned int prime[100005],l,ans[100005],pre[100005],n;
bool flag[100005];
void eorue()
for(int j=0;j*i
<=maxn;j++)
pre[i*prime[j]] = pre[i]*(prime[j]-1);}}
}void gao()
int main()
2.0 順便求每個數的質因子和質數資訊
#include
#include
#include
#define maxn 100001
#define ll long long
using
namespace
std;
// 尤拉函式3
ll eular[maxn];
int prime[maxn][15],num[maxn],flag[maxn],am = 0;
void eorue()
}eular[i] += eular[i-1];
}}
求單個的尤拉函式
ll
get_eular(ll
n)
} if(n>1)
ret*=n-1;
return ret;
}
尤拉函式(模板)
尤拉函式介紹 尤拉函式,在數論中用於求解 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 ...