Farey Sequence

题意:给定一个数n,求在[1,n]这个范围内两两互质的数的个数。(转化为给定一个数n,比n小且与n互质的数的个数)

知识点:

欧拉函数:

普通求法:

int Euler(int n)
{int ans=n;for(int i=0;i<cnt&&prime[i]<=n;i++){if(n%prime[i]==0){ans=ans-ans/prime[i];while(n%prime[i]==0)n/=prime[i];}}if(n==1)return ans;if(n>1)return ans-ans/n;}

筛选法:(基于素数筛,跟着代码模拟一遍就懂)

void Init()
{
     for(int i=1;i<N;i++)euler[i]=i;for(int i=2;i<N;i++)                 //i=1时,euler[1] 不变if(euler[i]==i)for(int j=i;j<N;j+=i)euler[j]=euler[j]/i*(i-1);
}

题解:筛选法求欧拉函数

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1e6+5;int euler[N];void Init()
{euler[1]=1;for(int i=2;i<N;i++)euler[i]=i;for(int i=2;i<N;i++)if(euler[i]==i)for(int j=i;j<N;j+=i)euler[j]=euler[j]/i*(i-1);
}int main()
{Init();int n;while(cin>>n&&n){long long ans=0;for(int i=2;i<=n;i++)ans+=euler[i];cout<<ans<<endl;}
}

转载于:https://www.cnblogs.com/shentr/p/5317442.html

poj2478 Farey Sequence (欧拉函数)相关推荐

  1. POJ_2478 Farey Sequence 【欧拉函数+简单递推】

    一.题目 The Farey Sequence Fn for any integer n with n >= 2 is the set of irreducible rational numbe ...

  2. 数论 —— 欧拉函数

    [定义] 对正整数 n,欧拉函数是小于等于 n 的数中与 n 互质的数的个数,记作: 例如:,因为 1.3.5.7 均与 8 互质. [性质] 1)若 n 为一素数 p,则: 2)若 n 为一素数 p ...

  3. 陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】...

    链接:https://www.nowcoder.com/acm/contest/121/J 来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的 ...

  4. poj2154-color-polyan次二面体+欧拉函数优化

    N<=1e9,O(nlogn)的做法会超时.从枚举置换转变为枚举轮换长度,然后可以利用欧拉函数,把复杂度变为O(√n * logn) 1 /*-------------------------- ...

  5. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  6. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  7. poj2154(Polya+欧拉函数优化模版)

    #include <cstdio> #include <cstring> #include<iostream> using namespace std; const ...

  8. 【数学专题】约数个数与欧拉函数

    整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...

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

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

最新文章

  1. python 语义网络_专家鉴定这是2019最顶级的python框架,没有之一
  2. java中构造器快捷方式_java 构造器 (构造方法)
  3. 数据库------事务
  4. MVVMLight绑定数据
  5. curl: (52) Empty reply from server
  6. [转载] Python集合set
  7. Day-04 基础数据类型list, tuple
  8. android手机刷机后驱动更新失败,安卓手机刷机失败怎么恢复
  9. MathType 7试用版写论文科研必备神器
  10. 短信API接口demo示例-C#/Message/XSend
  11. 齐岳多吡啶萘酰亚胺荧光树形分子(PDPN),三萘嵌二苯二酰亚胺类近红外有机光功能分子定制,4-氨基-1, 8-萘酰亚胺类化合物
  12. Revit相关问题:符号线,转转问题,生成三维视图
  13. GLSL 实现 FXAA 后处理效果
  14. 脑洞大开的思维工具:PMI
  15. 10本 JavaScript PDF 书籍免费分享
  16. ZYNQ 的学习方法
  17. 串口NFC模块,轻松实现NFC通信
  18. 邵阳学院大学计算机基础实验报告答案,实验报告正文(大学计算机基础)
  19. python3新式类_Python之新式类与经典类
  20. leetcode 883. 三维形体投影面积(python)

热门文章

  1. struts2 开发
  2. 基于用户投票的排名算法(三):Stack Overflow
  3. 阿里代码规范插件 中文使用手册 FOR Eclipse
  4. Entity Framework Core 2.0的突破性变更
  5. 运维-系统架构师经验总结:
  6. Failed to set NvVAD endpoint as default Audio endpoint [0]
  7. libtool: link: `dftables.lo' is not a valid libtool object
  8. EF 4.1中内部经常提交的 exec sp_reset_connection 的用途原来是为了重用池中的连接...
  9. Oracle中删除数据的一个小技巧
  10. netty 之 telnet HelloWorld 详解