今天看算法导论 ,看到欧拉 phi 函数,发现可以对之前写过的代码进行优化,所以重写了一次代码。

欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。


//  欧拉函数的求法:求出 n 的质因子 p1, p2, ... ,则 
//  EulerPHI (n) = n * (1 - 1 / p1) * (1 - 1 / p2) * ...

#include <iostream>
#include <cmath>
using namespace std;

int EulerPHI (int n)
{
    if (n == 1)
        ...{
        return 1;
        }
    int i = 2, m = n, root = int (sqrt (double (m)));
    while (i <= root)
        ...{
        if (m % i == 0)
            ...{
            n -= (n / i);
            do    ...{
                m /= i;
                } while (m % i == 0);
            root = int (sqrt (double (m)));
            }
        i ++;
        }
    if (m != 1)
        ...{
        n -= (n / m);
        }
    return n;
}

void main ()
{
    int n;
    cin >> n;    
    cout << EulerPHI (n) << endl;
} ... ...

欧拉 phi 函数代码相关推荐

  1. 欧拉phi函数与欧拉定理

    欧拉phi函数 欧拉phi(x)函数等于不超过x且和x互素的整数个数. 欧拉phi函数证明: 附代码: #include<stdio.h> #include<string.h> ...

  2. 学习欧拉phi函数的思考

    其正确性思考写在了代码片上 忘记一件事:欧拉phi函数的作用是用来求1~n中与n互素的数的个数 #include<cstdio> #include<cstring> #incl ...

  3. 欧拉phi函数—详解

    定义 111~NNN中与NNN互质的数的个数叫欧拉函数,记为φ(N)\varphi(N)φ(N) 对NNN分解质因数N=p1c1∗p1c1∗...∗pkckN=p_1^{c_1}*p_1^{c_1}* ...

  4. 欧拉 phi 函数的积性证明

    在数论,对正整数n,欧拉函数是小于或等于 n 的数中与 n 互素的数的数目. 若 m,n互素,那么 证明: 构造如图所示的矩阵,恰好包含 mn 个数. 则 phi(mn)是上述数字矩阵中与 mn 互素 ...

  5. 欧拉Gamma函数、Beta函数、余元公式

    目录 一,欧拉Gamma函数 1,Gamma函数 2,t^a * (1-t)^b的定积分 3,Gamma函数的高斯形式 4,sin πx 5,其他形式 二,余元公式 1,余元公式 2,应用 三,欧拉B ...

  6. 欧拉方法python代码实现

    如有不对,请批评指正! 1. 显式Euler和隐式Euler 2. 改进的Euler 3. 龙格-库塔(Runge-Kutta) 4. 举个栗子 代码仅为了说明计算过程,并未进行优化! import ...

  7. 积性函数欧拉函数莫比乌斯函数

    积性函数 (积性函数). 如果算术函数fff对任意两个互素的正整数a和b,f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b),则fff被称为积性函数(或乘性函数):如 ...

  8. 【算法讲4:乘性函数(上)】欧拉函数 | 因子和函数 | 因子个数函数

    [算法讲4:乘性函数(上)] 续集 一些定义 / 定理 欧拉 ϕ\phiϕ 函数 因子和与因子个数 内容出自:<初等数论及其应用>第六版第七章 续集 [算法讲5:乘性函数(中)]莫比乌斯函 ...

  9. 中gcd函数_欧拉函数φ(n)的计算及欧拉定理

    1 欧拉函数定义 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fun ...

最新文章

  1. 网络攻击与防御技术第三次实验
  2. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解
  3. [MIPS汇编语言]输入输出演示(数组)
  4. python ConfigParser 小试
  5. (转)[EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(1)...
  6. streamsets rest api 转换 graphql
  7. AWS安装CDH5.3-CentOS6.4中关键操作步骤
  8. Python数据结构:选择排序
  9. 关于shiro授权 This subject is anonymous - it does not have any identifying principals and authorization
  10. c语言流程图生成器免费软件,c语言流程图生成器
  11. SFTP服务器的搭建
  12. ong拼音汉字_汉语拼音ang-ong(教案)
  13. 有妇如此,夫复何求!
  14. echarts 正负条形图
  15. 数据库:mongodb安装教程、配置账号密码
  16. 机载计算机pdf,机载计算机系的故障诊断.pdf
  17. 微信小程序小Demo
  18. 如何安装部署beego项目
  19. Python基础知识学习笔记(一)
  20. 尚硅谷mycat2.0安装和配置

热门文章

  1. Hevc变换系数扫描
  2. Self-training with Noisy Student improves ImageNet classification论文解析
  3. 访问虚幻4引擎存储库 未来是否会支持c#为脚本语言探索 虚幻笔记1
  4. poi 浏览器导出 demo
  5. Java如何从入门进阶到架构师
  6. DEAP 情绪数据集介绍
  7. 基于Yolov5的吸烟行为识别检测
  8. java guava table_java – 使用Guava的Tables.toTable
  9. 甘特图:制定项目计划的三个要点
  10. 深度解析内容生成式AI背后的大语言模型,探寻智能浪潮下的存储机遇