`
guanhuaing
  • 浏览: 1199830 次
文章分类
社区版块
存档分类
最新评论

ACM-欧拉函数

 
阅读更多

新浪博客 发表时间 -- 2009-07-26 21:36:12

欧拉函数

  在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。
  例如φ(8)=4,因为1,3,5,7均和8互质。
  从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。
  φ函数的值
  φ(1)=1(唯一和1互质的数就是1本身)。
  若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质。
  欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。
  证明:设A, B, C是跟m, n, mn互质的数的集,据中国剩余定理,A*B和C可建立一一对应的关系。因此φ(n)的值使用算术基本定理便知,
  若
  n= ∏p^(α(下标p))
  p|n
  则φ(n)=∏(p-1)p^(α(下标p)-1)=n∏(1-1/p)
  p|n p|n
  例如φ(72)=φ(2^3×3^2)=(2-1)2^(3-1)×(3-1)3^(2-1)=24
  与欧拉定理、费马小定理的关系
  对任何两个互质的正整数a, m, m>=2有
  a^φ(m)≡1(mod m)
  即欧拉定理
  当m是质数p时,此式则为:
  a^(p-1)≡1(mod m)
  即费马小定理。
;例题:

求从1到n-1与n互质的数的个数,代码如下

int eular(int n)
{
<wbr><wbr><wbr> int ret = 1,i;<br><wbr><wbr><wbr> for (i = 2;i * i &lt;= n;i++)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> if (n % i == 0)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> n /= i;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ret *= (i - 1);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> while (n % i == 0)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> n /= i;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ret *= i;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr> if (n &gt; 1)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ret *= (n - 1);<br><wbr><wbr><wbr> return ret;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

分享到:
评论

相关推荐

    ACM/ICPC模板

    ACM/ICPC模板 内容大概有这些 其他 --高精度模板 --RMQ --改点堆优化的dijkstra算法 --快速付利叶变换 ...--SPFA(最短路快速算法) // thanks to love...--欧拉函数 --初等数论(模线性方程组,gcd相关等) --素数判断

    欧拉公式求圆周率的matlab代码-acm-algo:ACM代码档案

    欧拉公式求长期率的matlab代码Acm代码档案 尽管我喜欢多种语言,但该acm代码档案主要是由C++实现的。...欧拉函数 其他一些公式 动态编程 零一包 竞争包 未分类 排列 非递归遍历树(级别顺序,前顺序,有序和后顺序)

    ACM 算法模板集

    8. Euler Function欧拉函数 9. Farey总数 9. Farey序列构造 10. Miller_Rabbin素数测试,Pollard_rho因式分解 五. 图论算法 1. 最小生成树(Kruscal算法) 2. 最小生成树(Prim算法) 3. 单源最短路径(Bellman-ford算法)...

    ACM数论模板~。。。

    目录 1 一. 扩展的欧几里德和不定方程的解 2 二. 中国同余定理 3 三. 原根 5 四. 积性函数 6 五. 欧拉函数性质 7 六. 线性求1-max的欧拉...七. 求单个欧拉函数,求最小的x(phi(n)%x==0),使得2^x =1(mod n) 10

    ACM数论模板

    acm常用的数论模板,集合运算类。有欧几里德、中国剩余定理、欧拉函数等

    ACM.algorithm.rar_GCD矩阵_匈牙利_区间匹配_最短路 三维_模板元

    各种算法模板(二分图最大匹配匈牙利算法、最小生成树prime和kruskal算法、Dijkstra算法、两点最短路径负...ACM算法、素数筛选法和欧拉函数求解、快模算法、字符串匹配KMP算法、字典全排列算法、快排、三维度排序、)

    ACM常⽤模板(+模板题)(基础)

    ⼤数、⼆分、枚举排列、⼦集⽣成、n皇后回溯、并查集、树状数组、KMP,unday,BM、01背包,完全背包、最⻓(不)上升或下降⼦序列、最⻓公共⼦序列、拓扑排序。。。。 ...欧拉函数 快速幂 矩阵快速幂

    ACM算法模板选doc

    算法,模板,ACM 十进制转任意进制 阶乘非零 负二进制 高精度幂 n最长公共子串 Prim最小生成树 ...欧拉函数&素数筛选 Pick定理 高精度浮点数比较 日历 15数码是否有解 最大M子段和 MILLER_RABIN素性测试

    ACM巨全模板 .pdf

    13.欧拉函数 14.费马小定理 15.二阶常系数递推关系求解方法 (a_n=p*a_{n-1}+q*a_{n-2}) 16.高斯消元 17.矩阵快速幂 18.分解质因数 19.线性递推式BM(杜教) 20.线性一次方程组解的情况 21.求解行列式的逆矩阵,伴随...

    ACM经典、常用代码

    6. 最大公约数欧拉函数 二.图论_匹配 1. 二分图最大匹配(hungary邻接表形式) 2. 二分图最大匹配(hungary邻接表形式,邻接阵接口) 3. 二分图最大匹配(hungary邻接阵形式) 4. 二分图最大匹配(hungary正向表形式) ...

    两年ACM竞赛所有算法总结.docx

    两年ACM竞赛所有算法总结,这里包含最短路、最小生成树、动态规划、字符串匹配、博弈、大数、Hash、排序、二分匹配、并查集、最大流、欧拉函数、扩展欧几里得等

    浙江大学ACM模板 计算几何,图论,数据结构,经典题的模板

    3.4 欧拉函数 114 3.6高精度 116 3.6.1平方根 116 3.6.2 高精度乘幂 117 3.7 高斯消元回代法 122 3.8 数值计算 124 3.8.1 定积分计算 124 3.8.2 多项式求根(牛顿法) 125 3.8.3 周期性方程(追赶法) 127 4.排序 128 ...

    ACM数论(挺好理解的)

    ACM数论,挺好理解的文档,从辗转相除求gcd到欧拉定理,再到积性函数,到莫比乌斯函数,迪利克雷卷积,最后到因式分解,可以说是很细很全的数论资料了!

    数据结构的钻石版 acm 模版

    4.4 欧拉函数 69 5、 数值计算 70 5.1 定积分计算(Romberg) 70 5.2 多项式求根(牛顿法) 72 5.3 周期性方程(追赶法) 73 6、 图论—NP搜索 74 6.1 最大团 74 6.2 最大团(n)(faster) 75 7、 图论—连通性 77 7.1 无向图...

    上海交通大学ACM算法模板

    8. Euler Function欧拉函数 9. Farey总数 9. Farey序列构造 10. Miller_Rabbin素数测试,Pollard_rho因式分解 图论算法 1. 最小生成树(Kruscal算法) 2. 最小生成树(Prim算法) 3. 单源最短路径(Bellman-ford算法) 4. ...

    浙江大学ACM模板(经典代码)

    4.4 欧拉函数 695、 数值计算 70 5.1 定积分计算(Romberg) 70 5.2 多项式求根(牛顿法) 72 5.3 周期性方程(追赶法) 736、 图论—NP搜索 74 6.1 最大团 74 6.2 最大团(n)(faster) 757、 图论—连通性 77 7.1 无向图...

    ACM程序设计培训教程

    被毁坏的玉米地 ACM程序设计培训教程 经典数据结构与算法……………………………………………………………1  1.1 线性表………………………………………………………………………………1  1.1.1 线性表的顺序存储...

    ACM算法模板集锦(几何,结构,其他,数论,数值计算,图论)

    最大公约数欧拉函数 数值计算\ 定积分计算(Romberg) 多项式求根(牛顿法) 周期性方程(追赶法) 图论_NP搜索\ 最大团(n小于64) 最大团 图论_连通性\ 无向图关键边(dfs邻接阵形式) 无向图关键点(dfs邻接阵形式) ...

    ACM经典代码_相当不错的资料.pdf

    6. 最大公约数欧拉函数 ... 8 二.图论_匹配 . 9 1. 二分图最大匹配(hungary 邻接表形式) ..... 9 2. 二分图最大匹配(hungary 邻接表形式,邻接阵接口) ...... 10 3. 二分图最大匹配(hungary 邻接阵形式) ... 10 4. ...

    ACM常用模板总结ACM常用模板总结

    最大公约数欧拉函数 数值计算\ 定积分计算(Romberg) 多项式求根(牛顿法) 周期性方程(追赶法) 图论_NP搜索\ 最大团(n小于64) 最大团 图论_连通性\ 无向图关键边(dfs邻接阵形式) 无向图关键点(dfs邻接阵形式) ...

Global site tag (gtag.js) - Google Analytics