aoj 737 尤拉函式模板

2021-07-11 19:11:23 字數 1178 閱讀 7342

性質:

尤拉函式用希臘字母φ表示,φ(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 ...