关闭

欧拉函数

标签: 数论欧拉函数
319人阅读 评论(0) 收藏 举报
分类:
欧拉函数是数论中的一个重要函数。

同时,它也是密码系统不可缺少的极其重要的函数。

/*
 * 欧拉函数:数论中,对于正整数n,欧拉函数是小于n的数中与n互质的数的数目。
 * 此函数以其首名研究者欧拉命名(Ruler'so totient function),
 * 又称为Euler's totient function、φ函数、欧拉商数等。
 *
 */

#include <stdio.h>

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;
}

int main(void)
{
    int i;
    for(i=2; i<=100; i++)
        printf("i=%d eular=%d\n", i, eular(i));
    return 0;
}


关键代码:

/* 欧拉函数 */
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;
}


1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

欧拉函数及其证明

请思考以下问题:   任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?) 计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以 φ(n) = 4。 φ(n) 的计算方法并...
  • paxhujing
  • paxhujing
  • 2016-05-09 15:51
  • 7136

欧拉函数及其两种程序实现

欧拉函数phi(x)是指不大于正整数x的与x互质的正整数的个数。例如phi(1)=1,phi(2)=1,phi(3)=2,phi(4)=2,phi(5)=4,phi(6)=2等等。很显然,对每一个质数p,phi(p)=p-1。而对每一个质数的幂phi(p^n)=(p-1)×p^(n-1)。...
  • u012061345
  • u012061345
  • 2014-04-18 17:16
  • 1062

欧拉函数求法与应用

欧拉函数在OI中是个非常重要的东西,不知道的话会吃大亏的. 欧拉函数用希腊字母φ表示,φ(N)表示N的欧拉函数. 对φ(N)的值,我们可以通俗地理解为小于N且与N互质的数的个数(包含1).
  • sentimental_dog
  • sentimental_dog
  • 2016-07-23 10:34
  • 9138

欧拉函数及其求法

欧拉函数:对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。 Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有...
  • qq_27138357
  • qq_27138357
  • 2015-08-10 15:47
  • 1941

欧拉函数代码实现

欧拉函数ph(n)的意思是所有小于n且与n互质的个数。 比如说ph(10) = 4{1,,3,7,9与12互质} 欧拉公式 :    a^ph(m) = 1(mod m); 代码实现: //筛选法打欧拉函数表 ...
  • yeguxin
  • yeguxin
  • 2015-06-28 10:03
  • 763

扩展欧拉函数

欧拉函数        对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。      Euler函数表达通式:euler(x)=x(1-1/p...
  • menxiaoyuan
  • menxiaoyuan
  • 2015-12-10 12:56
  • 469

数论学习笔记 欧拉函数 (一些性质和运用)内置杜教筛

定义在数论中,对正整数n,欧拉函数是小于等于n的数中与n互质的数的数目。并且用符号φ(n)\varphi(n)表示一个整数的欧拉函数。例如φ(8)=4\varphi(8) = 4。特殊的φ(1)=1\varphi(1)=1。一些欧拉函数的性质性质一对于一个质数n,φ(n)=n−1\varphi(n)...
  • YxuanwKeith
  • YxuanwKeith
  • 2016-09-01 15:31
  • 2720

FZU 1759-Super A^B mod C (欧拉函数+降幂公式)

Problem 1759 Super A^B mod C Accept: 936    Submit: 3059 Time Limit: 1000 mSec    Memory Limit : 32768 K...
  • haut_ykc
  • haut_ykc
  • 2017-07-28 09:58
  • 407

欧拉函数线性筛法详解

该算法在可在线性时间内筛素数的同时求出所有数的欧拉函数。
  • Lytning
  • Lytning
  • 2014-04-24 19:52
  • 5661

【基础数论】十分钟学会计算欧拉函数

欧拉函数 欢迎各位读者指出不足,谢谢~ 首先我们要知道欧拉函数是个什么东东? 废话不多说~欧拉函数就是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。 欧拉函数的通式:φ(n)=n*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)…..(...
  • ydd97
  • ydd97
  • 2015-08-20 12:50
  • 836
    个人资料
    • 访问:909489次
    • 积分:20720
    • 等级:
    • 排名:第452名
    • 原创:1086篇
    • 转载:87篇
    • 译文:0篇
    • 评论:403条
    文章分类
    博客专栏
    最新评论