欧拉函数
来源:互联网 发布:萌照软件下载 编辑:程序博客网 时间:2024/05/01 02:39
欧拉函数在编程中是非常重要的一个版块:
φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3
欧拉公式
要灵活运用公式:
C++代码:
#include <cstdio>#include <cstdlib> using namespace std; #define N 10000000 int main(int argc, const char *argv[]){ int *phi; char *prime; prime = (char*)malloc((N + 1) * sizeof(char)); prime[0] = prime[1] = 0; for(int i = 2; i <= N; i++) prime[i] = 1; for(int i = 2; i + i <= N; i++) if(prime[i]) for(int j = i * i; j <= N; j += i) prime[j] = 0; //这段求出了N内的所有素数 phi = (int*)malloc((N + 1) * sizeof(int)); for(int i = 1; i <= N; i++) phi[i] = i; for(int i = 2; i <= N; i++) if(prime[i]) for(int j = i; j <= N; j += i) phi[j] = phi[j] / i * (i - 1); //此处注意先/i再*(i-1),否则范围较大时会溢出 return 0;}//这段求出了N内所有数的欧拉函数值
C语言函数,复杂度(sqrt(n))
int eular(int n){int ret=1,i;for(i=2;i*i<=n;i++)if(n%i==0){n/=i,ret*=i-1;while(n%i==0)n/=i,ret*=i;}if(n>1)ret*=n-1;return ret;}
- 欧拉函数
- 欧拉函数
- Relatives 【欧拉函数】
- 欧拉函数
- POJ_2407_欧拉函数
- 欧拉函数
- hdu_3501_欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数应用
- 欧拉函数
- 欧拉函数
- 欧拉函数
- ACM-欧拉函数
- Zipper
- SDJZ 摆积木
- parseBoolean
- QQ空间登录协议分析:JS篇
- android学习系列-JDBC连接SQL server与ADO.NET连接Sql Server对比(4)
- 欧拉函数
- Access Control
- 数据库查询优化方案(处理上百万级记录如何提高处理查询速度)
- 浅谈线程
- LIS3D20L的配置
- SDJZ 平均绩点
- VIM学习笔记001 - VIM配置
- 实现字符串中子字符串的替换
- 编程中无穷大常量的设定技巧