欧拉函数(模板)
2015-07-25 11:58
239 查看
欧拉函数介绍:
欧拉函数,在数论中用于求解 [ 1 , n ] 中与 n 互质数个数 的函数,因为研究者为欧拉,故命名为欧拉函数。
通式:φ(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)就是1本身)。 (注意:每种质因数只一个。比如 12 = 2*2*3 那么 φ(12) = 12 * (1-1/2) * (1-1/3)=4 )
若 n = p^k ( p为 质数 ),则 φ(n) = p^k-p^(k-1) = (p-1)p^(k-1),( 除 p 的倍数外,其他数均为 p 的互质数 )。
若n = p( p 为质数),则 φ(n) = p-p^(1-1) = p-1。
欧拉函数性质:
1、 φ(mn) = φ(m) φ(n)
2、若n为奇数,φ(2n) = φ(n)。
(注意:在欧拉函数中,函数值是 [ 1 , n ] 中与 n 互质数个数 ,证明自行百度)
素数筛选:
#define size 1000001
int euler[size];
void Init()
{
memset(euler,0,sizeof(euler));
euler[1]=1;
for(int i=2;i<size;i++)
if(!euler[i])
for(int j=i;j<size;j+=i)
{
if(!euler[j])
euler[j]=j;
euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出
}
}
欧拉函数,在数论中用于求解 [ 1 , n ] 中与 n 互质数个数 的函数,因为研究者为欧拉,故命名为欧拉函数。
通式:φ(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)就是1本身)。 (注意:每种质因数只一个。比如 12 = 2*2*3 那么 φ(12) = 12 * (1-1/2) * (1-1/3)=4 )
若 n = p^k ( p为 质数 ),则 φ(n) = p^k-p^(k-1) = (p-1)p^(k-1),( 除 p 的倍数外,其他数均为 p 的互质数 )。
若n = p( p 为质数),则 φ(n) = p-p^(1-1) = p-1。
欧拉函数性质:
1、 φ(mn) = φ(m) φ(n)
2、若n为奇数,φ(2n) = φ(n)。
(注意:在欧拉函数中,函数值是 [ 1 , n ] 中与 n 互质数个数 ,证明自行百度)
int Euler(int n) { int ret=n,i; for(i=2;i<=sqrt(n);i++) if(n%i==0) { ret=ret/i*(i-1);//先进行除法防止溢出 while(n%i==0) n/=i; } if(n>1) ret=ret/n*(n-1); return ret; }
素数筛选:
#define size 1000001
int euler[size];
void Init()
{
memset(euler,0,sizeof(euler));
euler[1]=1;
for(int i=2;i<size;i++)
if(!euler[i])
for(int j=i;j<size;j+=i)
{
if(!euler[j])
euler[j]=j;
euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出
}
}
相关文章推荐
- 2015年Android开发新技术
- jquery的ajax同步和异步
- Xcode技巧 - 1
- hdu4553约会安排 线段树
- PDU短信发送之四
- Android推送方案分析(MQTT/XMPP/GCM)
- cocos2d-x convertToWorldSpace和convertToNodeSpace
- TCP Segment Offload(TSO)的实现原理浅析
- [Leetcode] Populating Next Right Pointers in Each Node
- 树莓派初体验之虚机Qemu+Raspbian
- Hadoop集群配置(最全面总结)
- leetCode(51):Valid Palindrome
- leetCode(51):Valid Palindrome 分类: leetCode 2015-07-25 11:56 166人阅读 评论(0) 收藏
- 计算导论与C语言基础(专项课程之一)
- sketch3.3.3最新破解版-【海鹰原创】
- Triangle
- 动漫人物之无头骑士异闻录:塞尔提·史特路尔森 セルティ・ストゥルルソン Celty Sturluson CV:泽城美雪 沢城みゆき
- Kafka概述
- 2.6静态链表
- 2.6静态链表