题意:
给出n,算出小于等于n的所有数中,有几对互质;

思路:
利用欧拉函数
求与x互质的数的个数prime[x],再将prime[x]递推累加prime[x]=prime[x]+prime[x-1],因为题意answer(x,y)和answer(y,x)都可以,所以结果乘以2,然而answer(1,1)重复一次,所以结果prime[x]=prime[x]*2-1;
欧拉函数:
通式:

其中p1, p2……pn为x的所有质因数,x是不为0的整数。
φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。
注意:每种质因数只一个。 比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/3)=4
若n是质数p的k次幂,

,因为除了p的倍数外,其他数都跟n互质。

设n为正整数,以 φ(n)表示不超过n且与n互素的正整数的个数,称为n的欧拉函数值
φ:N→N,n→φ(n)称为欧拉函数。
欧拉函数是积性函数——若m,n互质,

特殊性质:当n为奇数时,

, 证明与上述类似。

若n为质数则

代码:

//#include <bits/stdc++.h>
using namespace std;const int N = 50005;
int prime[N];
void solve()
{prime[1] = 1;for(int i = 2; i <= N; i++){if(!prime[i]){for(int j = i; j <= N; j+=i){if(!prime[j])prime[j] = j;prime[j] = prime[j]/i * (i-1); }}}for(int i = 2; i <= N; i++){prime[i] = prime[i]+prime[i-1];}
}
int main()
{solve();int x;while(scanf("%d", &x)&&x){printf("%d\n", prime[x]*2-1);}
}

UVA10820欧拉函数求互质的对数相关推荐

  1. 欧拉函数求互质数个数

    求解与n(1-n-1)互质的质因子的个数 解析: 定义:对于正整数n,φ(n)是小于或等于n的正整数中,与n互质的数的数目. 例如:φ(8)=4,因为1,3,5,7均和8互质. 性质:1.若p是质数, ...

  2. 欧拉函数求互质数的个数

    互质数的个数(一) 思路:欧拉函数. 题目链接 import java.util.Scanner;public class Main{public static void main(String[] ...

  3. 欧拉函数求一个数倒数的循环节长度

    首先,费马小定理a与p互素,则a^(p-1)≡1(mod p)  对于一个素数p,取a=10,那么10^(p-1)≡1(mod p)  如果找到一个正整数e使得10^e/p-1/p为整数,那么e就是1 ...

  4. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

  5. 欧拉函数/欧拉函数打表 lightoj1370(java/c++ )

    例题 欧拉函数/素数判定 题目链接 题目 Bamboo Pole-vault是Xzhiland的一项大受欢迎的运动. Phi-shoe大师是他成功的非常受欢迎的教练.他需要为他的学生提供一些竹子,所以 ...

  6. 欧拉函数(求与n互质的数的个数)

    求解与n(1-n-1)互质的质因子的个数 解析:(转) 定义:对于正整数n,φ(n)是小于或等于n的正整数中,与n互质的数的数目. 例如:φ(8)=4,因为1,3,5,7均和8互质. 性质:1.若p是 ...

  7. 欧拉函数:求小于等于n且与n互质的数的个数

    求小于等于n且与n互质的数的个数 互质穷举法 互质:两个数互质代表两者最大公约数为1 最大公约数求法:辗转相除法,最小公倍数:较大值除以最大公约数乘以较小值 辗转相除法: 较大的数a取模较小的数b,得 ...

  8. 数论之互质与欧拉函数

    文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...

  9. c语言互质欧拉函数,互质与欧拉函数学习笔记

    互质与欧拉函数学习笔记 互质 定义: ​ \(\forall a,b\in \N\) ,若 \(gcd(a,b)=1\) ,则称 \(a,b\) 互质. 积性函数 定义: ​ 如果 \(a,b\) 互 ...

最新文章

  1. C++_引用变量探究
  2. 如何选择一个合适的建站系统?
  3. VSS2005 添加文件夹方法!
  4. oracle设置每列字符数,如何修改一个数字字段
  5. linux nfs配置
  6. ASP.NET MVC铵钮Click后下载文件
  7. 随想录(一种新的读写锁的写法)
  8. keras中的EarlyStopping
  9. Synchronize和ReentrantLock区别 1
  10. 导出csv文件,导出axlsx文件。gem 'Axlsx-Rails' (470);导入csv文件。
  11. 最新2019年dnf辅助制作视频教程
  12. ems与nms_求教OMC、EMS、NMS的区别和不同?
  13. 32位/64位处理器:*char与*int的区别?不同类型的指针+1的区别?
  14. workerman执行busy,http请求不返回导致阻塞
  15. 同步机制应遵循的规则
  16. 相机ISP图像处理流程
  17. python入门(四)小康小白
  18. intval()很重要
  19. 802.11ax 的OFDMA资源分配详解
  20. 【每日早报】2019/09/27

热门文章

  1. 网易回应暴力裁员事件并道歉!程序员曝亲身经历逼迫、算计、监视、陷害、威胁,甚至被保安赶出公司...
  2. 史沐凡的python学习笔记20220210
  3. 数据泄露事件频发,数据安全迫在眉睫
  4. 收购家乐福中国,苏宁要做新零售第三极?
  5. 竞赛图强连通分量大小幂和计数 - 组合计数 - 多项式
  6. Windows的Safari(可能)已死:如何迁移到另一个浏览器
  7. 小U管家如何加入联盟?
  8. 安装quagga(虚拟路由器)
  9. 英语语法汇总(11.直接引语和间接引语)
  10. 不存在从 “int“ 转换到 “registers“ 的适当构造函数