求小于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值的计算模板相关推荐

  1. (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 ...

  2. 欧拉函数φ(x)相关性质及计算

    定义: 对 正整数nnn,欧拉函数是 小于nnn的正整数 中 与nnn互质的数的数目.(φ(1)=1\varphi(1)=1φ(1)=1) 互质:aaa与bbb互质,即gcd⁡(a,b)=1\gcd( ...

  3. 欧拉线性筛法求素数(顺便实现欧拉函数的求值)

    标签:欧拉筛法   素数   欧拉函数   phi 我们先来看一下最经典的埃拉特斯特尼筛法.时间复杂度为O(n loglog n) int ans[MAXN]; void Prime(int n) { ...

  4. 51Nod-1136 欧拉函数【数论】

    1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Eu ...

  5. 【4.3 欧拉函数详解】

    更好的阅读体验\color{red}{更好的阅读体验}更好的阅读体验 目录 4.3.1 公式法求欧拉函数 4.3.2 筛法求欧拉函数 概念 1∼N1∼N1∼N中与NNN互质的数的个数被称为欧拉函数,记 ...

  6. #欧拉函数 ~20.8.27

    目录 欧拉函数 一.用公式求 解 答 二.线性筛法求欧拉函数 扩展欧拉定理 欧拉函数 AcWing 873. 欧拉函数 一.用公式求 定义:1 ~ N 中与 N 互质的数的个数被称为欧拉函数,记为ϕ( ...

  7. 数论 - 分解质因数+欧拉函数 - Relatives POJ - 2407

    数论 - 分解质因数+欧拉函数 文章目录 数论 - 分解质因数+欧拉函数 一.分解质因数 二.欧拉函数 三.模板: Relatives POJ - 2407 一.分解质因数 由 算 术 基 本 定 理 ...

  8. 数学--数论-数论函数-欧拉函数

    **欧拉函数定义 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.例如euler(8)=4,因为1,3,5,7均和8互质. Euler函数表达通式: 其中p1,p2--pn为x的所有素因数 ...

  9. HDU 1286 找新朋友 (欧拉函数)

    找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=8 T ...

最新文章

  1. PYTHON_DACORATOR
  2. atcode062D(预处理&优先队列)
  3. CF888G XOR-MST 最小异或生成树
  4. 判断网页是否为微信内置浏览器打开?
  5. java自由布局_java怎么在界面上随意摆放位置?
  6. 看我!挖到了一个3万美元的 Instagram 漏洞
  7. redis运行状态图形化监控工具 — RedisLive
  8. const char * char * const
  9. SpringMVC (三)处理器映射器的配置和AbstractController的使用
  10. 好看好用的字体软件-字体下载大全提供下载
  11. C++ 捕获程序异常奔溃minidump
  12. 层次分析法(AHP)原理以及应用
  13. 关于哪些信息是个人隐私信息
  14. 微信小程序 关于头像上传,showActionSheet,chooseImage,uploadFile
  15. CHM格式打开以后无法显示解决
  16. 学大数据技术与应用的女生多吗?适合吗?
  17. Uber vs. Lyft
  18. 服务器端无微信第三方平台事件传入,致使粉丝关注、公众号自动回复失效
  19. P2P平台投宝金融跑路?为什么我没有中雷!
  20. 最全英语单词下载地址

热门文章

  1. 跨越障碍又跑上台阶!波士顿动力机器人学会跑酷
  2. word多级列表和永久添加标题样式
  3. android 按键双击,实现Android监控任意控件或按键双击事件方法
  4. 一篇文章教你使用运放实现三角波、方波(详细电路分析)+multisim仿真
  5. 解读先电2.4 iaas-install-nova-{controller,comput}.sh 脚本
  6. 植物神经紊乱在心脑血管方面可能出现哪些症状
  7. Python的编码和解码
  8. 一维数组c语言,c语言一维数组_C语言一维数组入门教程
  9. 计算机控制技术及应用第四章,计算机控制技术及工程应用第四章课件.ppt
  10. System.OutOfMemoryException: 内存不足。