【数论】【素数】素数相关基础——欧拉函数与欧拉定理
来源:互联网 发布:labview编程样式 pdf 编辑:程序博客网 时间:2024/05/22 05:04
欧拉定理与欧拉函数在数论方面的应用十分广泛,几乎所有的形如a^n % k = 1的东西都可以往上靠。
这里暂时不细说怎么用,先讲基础内容。
1、 欧拉函数
欧拉函数 φ(n)表示不超过n且与n互素的正整数的个数 。
计算公式为: φ(n)=n*(1-1/p1)*(1-1/p2)*…其中p1,p2…为n的质因数
2、欧拉定理
若a,n是正整数,且a,n互质,则有a^ φ(n) mod n =1。
实际上这是费马小定理的一个推广。
我们看费马小定理:a^(p-1) % p =1,而对于欧拉函数φ(n),当n为素数时,根据其实际意义,显然φ(n)=n-1,带入欧拉定理的式子,其实就得到了飞马小定理。
3、欧拉函数打表
在实际运用中,用朴素方法去一次次求欧拉函数的值是很慢的,所以我们可以采用打表的方法来提高效率。
欧拉函数的打表利用了类似于筛选法打表的思路:枚举i,如果i是一个质数,那么把i的整倍数都乘上(1-1/i),注意实际操作中我们应该是/i*(i-1)。
for (int i=1;i<=100000;i++){ euler[i]=i;} for (int i=1;i<=100000;i++){ if (prime[i]==0){ for (int j=i;j<=100000;j+=i){ euler[j]=euler[j]/i*(i-1); } }}
prime数组就是我们之前用筛选法打出来的素数表。
0 0
- 【数论】【素数】素数相关基础——欧拉函数与欧拉定理
- 欧拉函数求法与欧拉筛法求素数
- 筛法求素数与欧拉函数
- 数论之素数,包括eratosthenes算法,欧拉函数
- POJ2154——Color(Polya定理+筛素数+欧拉函数)
- 欧拉函数筛选素数
- 【数论】欧拉定理
- 【数论】【素数】素数相关基础——获得素数与判别素数
- 数论基础 (费马小定理/扩展欧几里得/欧拉函数)
- 欧拉函数相关数论
- RSA的数学基础——欧拉函数与欧拉定理
- 数论快速入门(同余、扩展欧几里德、中国剩余定理、大素数测定和整数分解、素数三种筛法、欧拉函数以及各种模板)
- 数论快速入门(同余、扩展欧几里德、中国剩余定理、大素数测定和整数分解、素数三种筛法、欧拉函数以及各种模板)
- 欧拉筛——线性筛素数和欧拉函数
- 欧拉函数与欧拉定理
- 欧拉函数与欧拉定理
- 欧拉函数与欧拉定理
- 欧拉函数与欧拉定理
- javascript单引号和双引号
- cocos2d-x 手游源码站
- 关于typedef的用法总结
- LocalKMeans
- 黑马程序员.bobo.DAY.3
- 【数论】【素数】素数相关基础——欧拉函数与欧拉定理
- C/C++程序编译运行生成过程分析
- POJ 1860 Currency Exchange(BellmanFord求递增环)
- cocos2d-x-3.*的一个向下兼容性问题
- Linux与Unix Shell编程指南 读书笔记 (3) 正则表达式与grep
- vector
- 开发标记—JS之Json数据解析
- 为什么用ie (360)打开网页默认文件类型是ie7
- 1051. Pop Sequence