欧拉函数模板

Posted ch-hui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了欧拉函数模板相关的知识,希望对你有一定的参考价值。

在数论中,对正整数n,欧拉函数技术图片是小于或等于n的正整数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)。

例如技术图片,因为1,3,5,7均和8互质。

欧拉函数实际上是模n的同余类所构成的乘法群(即环技术图片的所有单位元组成的乘法群)的阶。这个性质与拉格朗日中值一起构成了欧拉定理的证明。

#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include<cstring>
#include <stack>
#include <algorithm>
using namespace std;
#define ll long long
#define N 200005
#define INF 0x3f3f3f3f
#define eps 0.00000001//偏差值1e8
#define pi acos(-1.0)//高精度圆周率
const int maxn = 2e7+2;
const int maxp = 1010;    //点的数量
#define fori for(i=0;i<n;i++)
#define fori1 for(i=1;i<=n;i++)
ll euler(ll n)
{
    ll ret = n;
    for (ll i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            ret -= ret / i;
            while (n % i == 0)
                n /= i;
        }
    }
    if (n > 1)//存在大于sqrt(a)的质因子
ret -= ret / n;
return ret;
}
int main() 
{
ll n, t, q, ret;
ll i, j, k, x;
ll flag
= 1;
ll sum
= 0,ans=0;
cin
>> n;
cout
<< euler(n) << endl;
}

 

以上是关于欧拉函数模板的主要内容,如果未能解决你的问题,请参考以下文章

poj2407(欧拉函数模板题)

欧拉函数模板

欧拉函数模板

UVA 10820 欧拉函数模板题

模板:欧拉函数

AcWing 873. 欧拉函数(单个欧拉模板)