欧拉函数,欧拉定理,费马小定理介绍及模板

2023-10-05 23:31

本文主要是介绍欧拉函数,欧拉定理,费马小定理介绍及模板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

欧拉函数的定义:对于正整数 n n ,欧拉函数是小于等于n的数中,与 n n 互质的数的数目

欧拉函数又称ϕ函数,例如 ϕ(8)=4 ϕ ( 8 ) = 4 ,因为1,3,5,7均和8互质

定理:

  1. 如果 n n 为某一个素数p,则: ϕ(p)=p1 ϕ ( p ) = p − 1
  2. 如果 n n 为某一个素数p的幂次 pa p a ,则: ϕ(pa)=(p1)pa1 ϕ ( p a ) = ( p − 1 ) ∗ p a − 1
  3. 如果 n n 为任意两个互质的数a,b的乘积,则: ϕ(ab)=ϕ(a)ϕ(b) ϕ ( a ∗ b ) = ϕ ( a ) ∗ ϕ ( b )
  4. n=pa11pa22...pakk n = p 1 a 1 ∗ p 2 a 2 ∗ . . . ∗ p k a k 为正整数 n n 素数幂分解,那么
    ϕ(n)=n(11p1)(11p2)...(11pk)

    推论: 当 n n 为奇数时,有ϕ(2n)=ϕ(n)

以下是两个常用的定理:

  • 欧拉定理:对于任何两个数值的正整数 a,m a , m (m>=2),有 aϕ(m)1(mod m) a ϕ ( m ) ≡ 1 ( m o d m )
  • 费马小定理: 当 m m 是质数时,am11(mod m)

模板

返回小于等于n且与n互质的数的个数

int euler_phi(int n)  
{  int res = n;  int m = (int)sqrt(n);  for(int i = 2; i <= m; i++)  if(n % i == 0)  {  res = res / i * (i-1);  while(n % i == 0) n /= i;  }  if(n > 1) res = res / n * (n-1);  return res;  
}

筛选法求欧拉函数

void euler_phi()  
{  for(int i = 1; i < N; i++) phi[i] = i;  for(int i = 2; i < N; i++)  if(phi[i] == i) //成立说明i是素数for(int j = i; j < N; j += i) //j要从i开始,这样可以处理素数的情况  phi[j] = phi[j] / i * (i-1);  
}  

这篇关于欧拉函数,欧拉定理,费马小定理介绍及模板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/152289

相关文章

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

Python中Namespace()函数详解

《Python中Namespace()函数详解》Namespace是argparse模块提供的一个类,用于创建命名空间对象,它允许通过点操作符访问数据,比字典更易读,在深度学习项目中常用于加载配置、命... 目录1. 为什么使用 Namespace?2. Namespace 的本质是什么?3. Namesp

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数