欧拉函数phi值的计算模板
求小于n且与n互质的整数的个数。告诉你n的唯一分解式
我们可以运用容斥原理,先分别减去是p1,p2,p3..pn的倍数,再加上同时是他们素因子的个数,再减去3个……以此类推即可。
我们可以化简一下公式:f(x)=x*(1-1/p1)*(1-1/p2).....,其中p1,p2.....是n的素因子。
这就是大名鼎鼎的欧拉函数,然后我们可以用编程轻松的解决这个问题
运用求质数的方法,每次找到一个素因子,然后将它除净,就可以保证找到的因子都是素数
#include<bits/stdc++.h>
using namespace std;
int ans,ans2;
int n;
void Find()
{
int m=int(sqrt(n)+0.5);
ans=n;
for(int i=2;i<=m;i++)
if(n%i==0)
{
ans=ans/i*(i-1);//注意运算的顺序,不然有可能超出int的范围
while(n%i==0) n/=i;
}
if(n>1) ans=ans/n*(n-1);
}
int main()
{
cin>>n;
Find();
cout<<ans<<endl;
return 0;
}
我们还可以利用类似筛素数的方法求出1-n所有欧拉函数的phi值~
#include<bits/stdc++.h>
using namespace std;
int ans,ans2;
int n;
int phi[1000];
void Find()
{
phi[1]=1;
for(int i=2;i<=n;i++)if(!phi[i])
{
for(int j=i;j<=n;j+=i)
{
if(!phi[j]) phi[j]=j;
phi[j]=phi[j]/i*(i-1);
}
}
}
int main()
{
cin>>n;
Find();
return 0;
}
欧拉函数phi值的计算模板相关推荐
- (hdu step 7.2.1)The Euler function(欧拉函数模板题——求phi[a]到phi[b]的和)
题目: The Euler function Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 欧拉函数φ(x)相关性质及计算
定义: 对 正整数nnn,欧拉函数是 小于nnn的正整数 中 与nnn互质的数的数目.(φ(1)=1\varphi(1)=1φ(1)=1) 互质:aaa与bbb互质,即gcd(a,b)=1\gcd( ...
- 欧拉线性筛法求素数(顺便实现欧拉函数的求值)
标签:欧拉筛法 素数 欧拉函数 phi 我们先来看一下最经典的埃拉特斯特尼筛法.时间复杂度为O(n loglog n) int ans[MAXN]; void Prime(int n) { ...
- 51Nod-1136 欧拉函数【数论】
1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Eu ...
- 【4.3 欧拉函数详解】
更好的阅读体验\color{red}{更好的阅读体验}更好的阅读体验 目录 4.3.1 公式法求欧拉函数 4.3.2 筛法求欧拉函数 概念 1∼N1∼N1∼N中与NNN互质的数的个数被称为欧拉函数,记 ...
- #欧拉函数 ~20.8.27
目录 欧拉函数 一.用公式求 解 答 二.线性筛法求欧拉函数 扩展欧拉定理 欧拉函数 AcWing 873. 欧拉函数 一.用公式求 定义:1 ~ N 中与 N 互质的数的个数被称为欧拉函数,记为ϕ( ...
- 数论 - 分解质因数+欧拉函数 - Relatives POJ - 2407
数论 - 分解质因数+欧拉函数 文章目录 数论 - 分解质因数+欧拉函数 一.分解质因数 二.欧拉函数 三.模板: Relatives POJ - 2407 一.分解质因数 由 算 术 基 本 定 理 ...
- 数学--数论-数论函数-欧拉函数
**欧拉函数定义 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.例如euler(8)=4,因为1,3,5,7均和8互质. Euler函数表达通式: 其中p1,p2--pn为x的所有素因数 ...
- HDU 1286 找新朋友 (欧拉函数)
找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=8 T ...
最新文章
- PYTHON_DACORATOR
- atcode062D(预处理&优先队列)
- CF888G XOR-MST 最小异或生成树
- 判断网页是否为微信内置浏览器打开?
- java自由布局_java怎么在界面上随意摆放位置?
- 看我!挖到了一个3万美元的 Instagram 漏洞
- redis运行状态图形化监控工具 — RedisLive
- const char * char * const
- SpringMVC (三)处理器映射器的配置和AbstractController的使用
- 好看好用的字体软件-字体下载大全提供下载
- C++ 捕获程序异常奔溃minidump
- 层次分析法(AHP)原理以及应用
- 关于哪些信息是个人隐私信息
- 微信小程序 关于头像上传,showActionSheet,chooseImage,uploadFile
- CHM格式打开以后无法显示解决
- 学大数据技术与应用的女生多吗?适合吗?
- Uber vs. Lyft
- 服务器端无微信第三方平台事件传入,致使粉丝关注、公众号自动回复失效
- P2P平台投宝金融跑路?为什么我没有中雷!
- 最全英语单词下载地址
热门文章
- 跨越障碍又跑上台阶!波士顿动力机器人学会跑酷
- word多级列表和永久添加标题样式
- android 按键双击,实现Android监控任意控件或按键双击事件方法
- 一篇文章教你使用运放实现三角波、方波(详细电路分析)+multisim仿真
- 解读先电2.4 iaas-install-nova-{controller,comput}.sh 脚本
- 植物神经紊乱在心脑血管方面可能出现哪些症状
- Python的编码和解码
- 一维数组c语言,c语言一维数组_C语言一维数组入门教程
- 计算机控制技术及应用第四章,计算机控制技术及工程应用第四章课件.ppt
- System.OutOfMemoryException: 内存不足。