欧拉函数、费马定理、欧拉定理
来源:互联网 发布:数控编程薄膜按键开关 编辑:程序博客网 时间:2024/04/29 17:01
一、欧拉函数
思考:任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?
解:计算这个值的方法就叫做欧拉函数,以φ(n)表示。
怎样求一个任意数的欧拉函数值?
其中(3)为欧拉函数的通用计算形式。
实现代码:
long phi(long n){ long ans=n; for (long i=2; i*i<=n; i++) //寻找素数pi(任意一个正整数可以分解成唯一的质因数的乘积,所以从小到大的找,则符合条件的一定是素数) { if(n%i==0) //n能被i整除 { n/=i; ans=ans-ans/i;//ans=ans*(1-1/i) while (n%i==0) //找出素数pi对应的指数是多少 { n/=i; } } } if(n>1) { ans=ans-ans/n; } return ans;}
可以用poj2407来测试代码。
二、费马定理
如果p是素数并且a是不能被p整除的正整数,那么:
费马定理的另一种形式:
如果p是素数,a是任意正整数,则对gcd(a,p)=1,有:
证明:
因为p是素数,所以a、p互素,所以集合{a,2a,3a,…,(p-1)a}在同余意义下等价于{1,2,3,…,(p-1)}(注:元素顺序可能不同)
所以a×2a×3a×…×(p-1)a≡1×2×3×…×(p-1) mod p,即(p-1)!a^(p-1)≡(p-1)!mod p,所以a^(p-1)≡1mod p,也即ap≡a mod p。
来看道例题:
三、欧拉定理
若整数a与整数n互素,则:
如果n=p是素数,则有
显然,欧拉定理可以看成是费马定理的推广形式。
下面来看看一道例题:
0 0
- 欧拉函数、费马定理、欧拉定理
- 欧拉函数+费马定理 POJ3358
- TOJ 3313.Calculation(欧拉函数、费马定理)
- 欧拉定理 & 费马定理吗 & 欧几里得 & 扩展欧几里得
- 逆元 + 费马定理 + 欧拉定理
- 欧拉定理 & 费马定理吗 & 欧几里得 & 扩展欧几里得
- 欧拉函数与欧拉定理
- 欧拉函数与欧拉定理
- 欧拉函数&&欧拉定理
- 欧拉定理,欧拉函数
- 欧拉函数与欧拉定理
- 欧拉函数/欧拉定理
- 欧拉函数和欧拉定理
- 欧拉函数,欧拉定理模板
- POJ3696【欧拉函数+欧拉定理】
- 欧拉函数与欧拉定理
- 欧拉定理 和 欧拉函数
- 欧拉函数与欧拉定理
- JDK中的URLConnection参数详解
- C专家编程-语言的特性之计算的次序
- js {} [] 的使用
- LeetCode: Unique Paths II
- 尝试用打印出一些形状这次是菱形
- 欧拉函数、费马定理、欧拉定理
- 如何来想,怎么去做(上)
- 基于LVM和NBD实现远程镜像
- Ubuntu13.10编译Android4.3源码(二)
- 写一个函数参数是一个int数值要求倒着输出这个数,要求用到递归算法。
- Android起始之路之一:git和svn的使用。
- 组合数计算(快速幂)
- ImageView 清空图片
- [Erlang危机](1.1)如何深入代码