(转)快速求欧拉函数
来源:互联网 发布:mac版微信开发工具 编辑:程序博客网 时间:2024/06/07 02:24
E(x)表示比x小的且与x互质的正整数的个数。
*若p是素数,E(p)=p-1。
*E(p^k)=p^k-p^(k-1)=(p-1)*P^(k-1)
证:令n=p^k,小于n的正整数数共有n-1即(p^k-1)个,其中与p不质的数共[p^(k-1)-1]个(分别为1*p,2*p,3*p...p(p^(k-1)-1))。
所以E(p^k)=(p^k-1)-(p^(k-1)-1)=p^k-p^(k-1).得证。
*若ab互质,则E(a*b)=E(a)*E(b),欧拉函数是积性函数.
*对任意数n都可以唯一分解成n=p1^a1*p2^a2*p3^a3*...*pn^an(pi为素数).
则E(n)=E(p1^a1)*E(p2^a2)*E(p3^a3)*...*E(pn^an)
=(p1-1)*p1^(a1-1)*(p2-1)*p2^(a2-1)*...*(pn-1)*pn^(an-1)
=(p1^a1*p2^a2*p3^a3*...*pn^an)*[(p1-1)*(p2-1)*(p3-1)*...*(pn-1)]/(p1*p2*p3*...*pn)
=n*(1-1/p1)*(1-1/p2)*...*(1-1/pn)
* E(p^k) =(p-1)*p^(k-1)=(p-1)*p^(k-2)*p
E(p^(k-1))=(p-1)*p^(k-2)
->当k>1时,E(p^k)=E(p*p^(k-1))=E(p^(k-1))*p.
(当k=1时,E(p)=p-1.)
由上式: 设P是素数,
若p是x的约数,则E(x*p)=E(x)*p.
若p不是x的约数,则E(x*p)=E(x)*E(p)=E(x)*(p-1).
转自http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.html
- (转)快速求欧拉函数
- 快速求欧拉函数
- hdu2824 快速求欧拉函数
- 快速求欧拉函数
- 快速求欧拉函数
- 快速求欧拉函数 poj2478
- POJ2478_Farey Sequence【快速求欧拉函数】(积性函数筛)
- 快速排序 qsort()函数
- The Euler function(hdoj2824)(快速求欧拉函数)
- POJ2478 Farey Sequence【快速求欧拉函数】
- Farey Sequence(Poj2478)(快速求欧拉函数)
- [转]OpenGL快速渲染函数glDrawElements使用说明
- 快速转置及排序函数
- 快速排序函数实现(备后)
- MTK常用函数快速查找(2)
- MTK常用函数快速查找(3)
- qsort函数(快速排序用法举例)
- PHP快速入门 -- 函数Date()
- .htaccess文件用法
- spring mvc 多方法-简单例子
- 你是如何成为 Lisp 程序员的?
- Sicily上机练习题
- 走出问题的乌托邦
- (转)快速求欧拉函数
- C# DataSet的基本用法
- 【转载】Erlang精彩讨论-回“老赵”关于“Erlang中最大的问题”
- 深入跨进程访问(AIDL服务)
- oracle一些知识点
- POJ 3090 Visible Lattice Points 法雷级数
- 触发器与存储过程的区别
- 平常心,难得
- 链表操作大全