求小于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. zz SOA推荐书籍列表
  2. BAPI_ACC_DOCUMENT_POST生成预制凭证增强
  3. 使用ONVIF协议控制海康威视球机
  4. Shell入门(三)之字符串
  5. Android IPC数据在内核空间中的发送过程分析
  6. 2022年小游戏----游戏背包系统之搭建背包UI
  7. 零基础学Python课后实战第五章
  8. python猜数字游戏编程 可猜次数用户说继续 则程序继续_python猜数字游戏
  9. 属性管理器没有Microsoft.Cpp.x64.user的解决办法
  10. Python图像处理【5】图像扭曲与逆扭曲详解
  11. 如何使scrapy爬取信息不打印在命令窗口中
  12. 计算机图形学流体仿真mac网格,正交网格下不可压缩流体的图形学模拟
  13. Oracle错误08s01,Java7 sqljdbc4 – getConnection()上的SQL错误08S01
  14. 广东工程职业技术学院计算机二级,高职高考必看|全面了解广东工程职业技术学院...
  15. 【ZZ】电影的格式及版本
  16. 泉州dns服务器无响应,泉州联通dns服务器地址
  17. 不同业务场景Cas客户端(Java业务系统)接入
  18. 【案例2-3】超市购物程序设计
  19. 孟岩对话元道:我的公链主张(中)
  20. C语言实现Linux聊天工具

热门文章

  1. android打不开ios分享微博,iOS集成新浪微博登录分享遇到的一些问题
  2. vue-admin-template开发(头像上传功能)
  3. 通俗易懂地解释贝叶斯网络及其应用
  4. 开发版速达扩展功能-业务单据明细表格数据导入
  5. 3dmax拾取路径怎么用(3DMAX路径工具使用教程)
  6. 软件模拟IIC主从机
  7. intel 主板在 RAID 模式下装 Win10 (1709) x64 版找不到 PCIe 固态硬盘 SSD 怎么办?
  8. 计算机网络概念类题目汇总
  9. 浩辰CAD中绘制断轴和圆柱相贯线的操作教程
  10. Unity自学第一天, 新手小白进!写一个最简单的脚本让方块旋转起来