码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉函数性质以及模板

时间:2016-06-14 14:24:41      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

概念:

数论,对正整数n,欧拉函数是小于n的数中与n互质的数的数目。

性质:
 技术分享 
,其中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互质。
设n为正整数,以 φ(n)表示不超过n且与n互
素的正整数的个数,称为n的欧拉函数值,这里函数
φ:N→N,n→φ(n)称为欧拉函数。
欧拉函数是积性函数——若m,n互质,
 技术分享
特殊性质:当n为奇数时,
 技术分享 
, 证明与上述类似。
若n为质数则
 技术分享
模板:
void Init_oula()///预处理求出1到N的欧拉函数的值
{
    int i,j;
    memset (a,0,sizeof(a));
    for (i = 2 ; i <= N;i++)
    {
        ///筛选求a
        if (!a[i])
        {
            for (j = i ; j <= N; j += i)
            {
                if (!a[j])
                    a[j ] = j;
                a[j] = a[j] / i * (i-1) ;
            }
        }
    }
    /** for(int i = 1;i <= 20;i++){
        printf("a[%d] = %d\n",i,a[i]);
    } */
}

 

 

欧拉函数性质以及模板

标签:

原文地址:http://www.cnblogs.com/jifahu/p/5583702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!