poj 2407Relatives 欧拉函数
来源:互联网 发布:淘宝卖家评价举报功能 编辑:程序博客网 时间:2024/05/20 11:24
欧拉函数
φ函数的值 Euler函数
通式:φ(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】
定理:
若n是素数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质
欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)
特殊性质:当n为奇数时,φ(2n)=φ(n), 证明于上述类似
特殊地,p是素数,φ(p) = p - 1,φ(p)称为p的欧拉值
欧拉公式的延伸:一个数的所有质因子之和是euler(n)*n/2。
//直接求解欧拉函数 int euler(int n){ //返回euler(n) int res=n,a=n; for(int i=2;i*i<=a;i++){ if(a%i==0){ res=res/i*(i-1);//先进行除法是为了防止中间数据的溢出 while(a%i==0) a/=i; } } if(a>1) res=res/a*(a-1); return res; } //筛选法打欧拉函数表 #define Max 1000001 int euler[Max]; void Init(){ euler[1]=1; for(int i=2;i<Max;i++) euler[i]=i; for(int i=2;i<Max;i++) if(euler[i]==i) for(int j=i;j<Max;j+=i) euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出 }
poj 2407 就是直接求解法。
0 0
- POJ 2407 Relatives && UVA 10299 Relatives(欧拉函数)
- POJ 2407 Relatives 欧拉函数
- POJ 2407 Relatives 欧拉函数
- poj 2407 Relatives(欧拉函数)
- POJ 2407 Relatives 欧拉函数题解
- poj 2407Relatives(数论:欧拉函数)
- [POJ 2407]Relatives(欧拉函数)
- POJ 2407 Relatives (欧拉函数)
- POJ 2407 : Relatives - 欧拉函数
- POJ 2407 Relatives(欧拉函数)
- POJ 2407 Relatives(欧拉函数)
- POJ 2407 Relatives(欧拉函数)
- POJ-2407-Relatives-欧拉函数
- POJ 2407 Relatives (欧拉函数)
- POJ 2407-Relatives-欧拉函数
- POJ 2407 Relatives(欧拉函数)
- 【POJ】2407 - Relatives(欧拉函数)
- POJ 2407 Relatives (欧拉函数)
- 【css3】鼠标悬停图片旋转效果
- 关于C51编译器的声明标识符
- OpenCV Tutorial: 影像分割(grabCut)
- 一张关于docker版本的图
- Oracle-视图
- poj 2407Relatives 欧拉函数
- 一些不错的网址
- 手机web开发,click,touch,tap事件浅析
- 多继承
- 建行E商贸通支付开发系列之四(测试环境搭建)
- hdu4565 So Easy! 广义斐波那契+矩阵快速幂+共轭构造
- ps去色的10种方法
- mac下终端命令行下添加mysql命令
- 用POI实现 报表读取