初等数论--欧拉函数及其性质
1. 定义
ϕ ( n ) \phi(n) ϕ(n)在数论中代表欧拉函数,
它的值为小于等于 n n n且与 n n n互质的正整数的个数。
2. 性质
- 若 p p p为质数,则 ϕ ( p ) = p − 1 \phi(p) =p-1 ϕ(p)=p−1;
除了自身以外全都互质。
- 若 p p p为质数,则 ϕ ( p k ) = p k − p k − 1 \phi(p^k)=p^k-p^{k-1} ϕ(pk)=pk−pk−1
与 p k p^{k} pk不互质的一定是 p p p的倍数,即 p , 2 p , 3 p , ⋯ , p k − 1 p p,2p,3p,\cdots,p^{k-1}p p,2p,3p,⋯,pk−1p, 一共 p k − 1 p^{k-1} pk−1个数,因此剩下的就是与 p k p^{k} pk互质的,因此 ϕ ( p k ) = p k − p k − 1 \phi(p^{k})=p^{k}-p^{k-1} ϕ(pk)=pk−pk−1
- 欧拉函数定义式: ϕ ( n ) = n Π i = 1 m ( 1 − 1 p i ) \phi(n)=n\Pi_{i=1}^{m}(1-\frac{1}{p_i}) ϕ(n)=nΠi=1m(1−pi1)
这条性质可以由算术基本定理和容斥原理证明,具体证明可以看欧拉函数积性证明。
- 欧拉函数积性: gcd ( a , b ) = 1 ⇒ ϕ ( a b ) = ϕ ( a ) ϕ ( b ) \gcd(a,b)=1 \Rightarrow \phi(ab)=\phi(a)\phi(b) gcd(a,b)=1⇒ϕ(ab)=ϕ(a)ϕ(b)
同样可以看上面提到的文章中的证明。
- 若 a a a为质数且 a ∣ b a \mid b a∣b,则 ϕ ( a b ) = a ϕ ( b ) \phi(ab)=a \phi(b) ϕ(ab)=aϕ(b)
我们假设 b = a k m b=a^{k}m b=akm, 那么 ϕ ( b ) = ϕ ( a k m ) \phi(b)=\phi(a^km) ϕ(b)=ϕ(akm);
显然 gcd ( a k , m ) = 1 \gcd(a^{k},m)=1 gcd(ak,m)=1,那么根据积性性质可得 ϕ ( b ) = ϕ ( a k m ) = ϕ ( a k ) ϕ ( m ) \phi(b)=\phi(a^{k}m)=\phi(a^{k})\phi(m) ϕ(b)=ϕ(akm)=ϕ(ak)ϕ(m)。
再根据上面的性质 ϕ ( a k ) = a k − a k − 1 \phi(a^{k})=a^{k}-a^{k-1} ϕ(ak)=ak−ak−1。
同理 ϕ ( a b ) = ϕ ( a k + 1 m ) = ϕ ( a k + 1 ) ϕ ( m ) = ( a k + 1 − a k ) ϕ ( m ) \phi(ab)=\phi(a^{k+1}m)=\phi(a^{k+1})\phi(m)=(a^{k+1}-a^k) \phi(m) ϕ(ab)=ϕ(ak+1m)=ϕ(ak+1)ϕ(m)=(ak+1−ak)ϕ(m)
a ϕ ( b ) = a ( a k − a k − 1 ) ϕ ( m ) = ( a k + 1 − a k ) ϕ ( m ) a\phi(b)=a(a^k-a^{k-1})\phi(m)=(a^{k+1}-a^k)\phi(m) aϕ(b)=a(ak−ak−1)ϕ(m)=(ak+1−ak)ϕ(m)。
因此 a ϕ ( b ) = ϕ ( a b ) a\phi(b)=\phi(ab) aϕ(b)=ϕ(ab)
- 因数的欧拉函数和等于 n n n: ∑ d ∣ n ϕ ( n d ) = ∑ d ∣ n ϕ ( d ) = n \sum_{d | n} \phi(\frac{n}{d}) = \sum_{d | n} \phi(d)=n ∑d∣nϕ(dn)=∑d∣nϕ(d)=n
这个性质的证明不太好想,抄下来算了。
我们令全集 S n : = { 1 , 2 , ⋯ , n } S_n := \{ 1,2,\cdots,n\} Sn:={1,2,⋯,n}
我们可以对这个集合根据与 n n n的最大公因数作划分
定义 A d : = { x ∣ gcd ( x , n ) = d , x ∈ S n } A_d := \{ x| \gcd(x,n)=d, x \in S_n\} Ad:={x∣gcd(x,n)=d,x∈Sn}
由于 gcd ( x , n ) = d \gcd(x,n)=d gcd(x,n)=d,我们同时除一个 d d d得到 gcd ( x d , n d ) = 1 \gcd(\frac{x}{d}, \frac{n}{d})=1 gcd(dx,dn)=1。
因此 ∣ A d ∣ = ϕ ( n d ) |A_d|=\phi(\frac{n}{d}) ∣Ad∣=ϕ(dn), 这一步是关键就是构建互质转换为欧拉函数。
将所有的最大公因数划分全部加起来
∑ d ∣ n ∣ A d ∣ = ∑ d ∣ n ϕ ( n d ) = ∣ S n ∣ = n \sum_{d|n} |A_d|=\sum_{d|n} \phi(\frac{n}{d})=|S_n|=n d∣n∑∣Ad∣=d∣n∑ϕ(dn)=∣Sn∣=n
根据因子的对称性,显然
∑ d ∣ n ϕ ( n d ) = ∑ d ∣ n ϕ ( d ) = n \sum_{d|n} \phi(\frac{n}{d})=\sum_{d|n}\phi(d) =n d∣n∑ϕ(dn)=d∣n∑ϕ(d)=n
Q . E . D Q.E.D Q.E.D
参考
豆包ai
相关文章:
初等数论--欧拉函数及其性质
1. 定义 ϕ ( n ) \phi(n) ϕ(n)在数论中代表欧拉函数, 它的值为小于等于 n n n且与 n n n互质的正整数的个数。 2. 性质 若 p p p为质数,则 ϕ ( p ) p − 1 \phi(p) p-1 ϕ(p)p−1; 除了自身以外全都互质。 若 p p p为质数,则 ϕ ( p…...
Java、javax 和 Jakarta有什么区别?
在 Java 开发中,我们经常会看到 java、javax 和 jakarta 这些包名前缀。本文将详细介绍这三个命名空间的含义、发展历程以及它们之间的关系,帮助你更好地理解 Java 生态系统。 一、Java:核心 API 的基础 ✅ 含义: java 是 Java 标准库的核心包名。所有以 java. 开头的类构…...
Java中的控制流语句:if、switch、for、foreach、while、do-while
Java中的控制流语句 Java中的控制流语句用于控制程序执行的流程。这些语句包括条件判断语句和循环语句。本文将详细介绍Java中的 if、switch、for、foreach、while、do-while控制流语句。 一、条件判断语句 1. if语句 if语句根据表达式的真假来决定是否执行代码块。 int x…...

GStreamer开发笔记(三):测试gstreamer/v4l2+sdl2/v4l2+QtOpengl打摄像头延迟和内存
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/147714800 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、O…...

科技成果鉴定测试有哪些内容?又有什么作用?
科技成果鉴定测试是评价科技成果质量和水平的方法之一,通过测试,可以对科技成果的技术优劣进行评估,从而为科技创新提供参考和指导。 一、科技成果鉴定测试的内容 1.技术评审:通过技术专家对项目进行详细的技术分析ÿ…...

基于Spring Boot + Vue 项目中引入deepseek方法
准备工作 在开始调用 DeepSeek API 之前,你需要完成以下准备工作: 1.访问 DeepSeek 官网,注册一个账号。 2.获取 API 密钥:登录 DeepSeek 平台,进入 API 管理 页面。创建一个新的 API 密钥(API Key&#x…...

A2A与MCP定义下,User,Agent,api(tool)间的交互流程图
官方图: 流程图: #mermaid-svg-2smjE8VYydjtLH0p {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2smjE8VYydjtLH0p .error-icon{fill:#552222;}#mermaid-svg-2smjE8VYydjtLH0p .error-tex…...

蓝桥杯2025年第十六届省赛真题-水质检测
C语言代码: #include <stdio.h> #include <string.h>#define MAX_LEN 1000000int main() {char a[MAX_LEN 1], b[MAX_LEN 1];// 使用 scanf 读取字符数组scanf("%s", a);scanf("%s", b);int ans 0;int pre -1;int state -1;i…...
机器学习第二讲:对比传统编程:解决复杂规则场景
机器学习第二讲:对比传统编程:解决复杂规则场景 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 一、场景…...

[Windows] 东芝存储诊断工具1.30.8920(20170601)
[Windows] 东芝存储诊断工具 链接:https://pan.xunlei.com/s/VOPpMjGdWZOLceIjxLNiIsIEA1?pwduute# 适用型号 东芝消费类存储产品: 外置硬盘:Canvio 系列 内置硬盘:HDW****(E300 / N300 / P300 / S300 / V300 / X30…...
[蓝桥杯 2025 省 B] 水质检测(暴力 )
暴力暴力 菜鸟第一次写题解,多多包涵!!! 这个题目的数据量很小,所以没必要去使用bfs,直接分情况讨论即可 一共两排数据,我们使用贪心的思想,只需要实现从左往右的过程中每个检测器相互连接即…...

Linux网络编程day7 线程池and UDP
线程池 typedef struct{void*(*function)(void*); //函数指针,回调函数void*arg; //上面函数的参数 }threadpool_task_t; //各子线程任务的结构体/*描述线程池相关信息*/struct threadpool_t{pthread_mutex_t lock; …...
wsl - install RabbiqMQ
下载erlang $ sudo apt -y install erlang 安装软件包 $ sudo apt -y install rabbitmq-server 修改配置文件 $ sudo vi /etc/rabbitmq/rabbitmq-env.conf # Defaults to rabbit. This can be useful if you want to run more than one node # per machine - RABBITMQ_NODENAME…...

ABB电机保护单元通过Profibus DP主站转Modbus TCP网关实现上位机通讯
ABB电机保护单元通过Profibus DP主站转Modbus TCP网关实现上位机通讯 在工业自动化领域,设备之间的通信至关重要。Profibus DP是一种广泛应用的现场总线标准,而Modbus TCP则是一种基于以太网的常见通信协议。将Profibus DP主站转换为Modbus TCP网关&…...
深入解析二维矩阵搜索:LeetCode 74与240题的两种高效解法对比
文章目录 **引言** **一、问题背景与排序规则对比****1. LeetCode 74. 搜索二维矩阵****2. LeetCode 240. 搜索二维矩阵 II** **二、核心解法对比****方法1:二分查找法(适用于LeetCode 74)****方法2:线性缩小搜索范围法࿰…...

迪士尼机器人BD-X 概况
这些机器人代表着迪士尼故事叙述与非凡创新的完美结合。它们不仅栩栩如生,还配备了先进的技术。 -迪士尼幻想工程研发部高级副总裁凯尔劳克林 幕景 BDX 机器人是由华特迪士尼公司的研究和幻想工程部门利用NVIDIA人工智能技术 (AI)开发的现实世界机器人,…...

UE5骨骼插槽蓝图
首先在人物骨骼处添加插槽并命名,然后再选择添加预览资产把你要的模型(静态网格体)放上去。 选择绑定的骨骼再去右边相对位置、旋转等调整物体。 再去人物蓝图里面写就ok了...
移动应用开发:自定义 View 处理大量数据的性能与交互优化方案
实现 1 万条数据下流畅滑动与灵敏交互的完美平衡。 一、数据渲染优化:从 1 万条到丝滑体验 (一)视图复用机制 视图复用是提升大量数据渲染性能的关键策略。以一个简单的自定义列表视图为例,我们可以构建如下的复用池管理机制&a…...

绘制拖拽html
<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width, initial-scale1" /> <title>拖拽绘制矩形框 - 可移动可调整大小</ti…...
C++结构体介绍
结构体的定义 在C中,结构体(struct)是一种用户定义的数据类型,允许将不同类型的数据组合在一起。结构体的定义使用struct关键字,后跟结构体名称和一对花括号{},花括号内包含成员变量的声明。 struct Pers…...

ggplot2 | GO barplot with gene list
1. 效果图 2. 代码 数据是GO的输出结果,本文使用的是 metascape 输出的excel挑选的若干行。 # 1. 读取数据 datread.csv("E:\\research\\scPolyA-seq2\\GO-APA-Timepoint\\test.csv", sep"\t") head(dat)# 2. 选择所需要的列 dat.usedat[, c(…...
PostgreSQL 的 pg_advisory_lock 函数
PostgreSQL 的 pg_advisory_lock 函数 pg_advisory_lock 是 PostgreSQL 提供的一种应用级锁机制,它不锁定具体的数据库对象(如表或行),而是通过数字键值来协调应用间的并发控制。 锁的基本概念 PostgreSQL 提供两种咨询锁(advi…...
docker 镜像的导出和导入(导出完整镜像和导出容器快照)
一、导出原始镜像 1. 使用 docker save 导出完整镜像 适用场景:保留镜像的所有层、元数据、标签和历史记录,适合迁移或备份完整镜像环境。 操作命令 docker save -o <导出文件名.tar> <镜像名:标签>示例:docker save -o milvu…...

系统思考:短期困境与长期收益
最近在项目中,一直有学员会提到一个议题,如何平衡当前困境和长期收益? 我的思考是在商业和人生的路上,我们常常听到“鱼和熊掌不可兼得”的说法,似乎短期利益和长期目标注定是对立的。但事实上,鱼与熊掌是…...
4.2【LLaMA-Factory实战】金融财报分析系统:从数据到部署的全流程实践
【LLaMA-Factory实战】金融财报分析系统:从数据到部署的全流程实践 一、引言 在金融领域,财报分析是投资决策的核心环节。传统分析方法面临信息提取效率低、风险识别不全面等挑战。本文基于LLaMA-Factory框架,详细介绍如何构建一个专业的金…...

Cjson格式解析与接入AI大模型
JSON格式的解析与构造 基本概念 JSON是JavaScript Object Notation的简称,中文含义为“JavaScript 对象表示法”,它是一种数据交换的文本格式,而不是一种编程语言。 JSON 是一种轻量级的数据交换格式,采用完全独立于编程语言的…...

基于英特尔 RealSense D455 结构光相机实现裂缝尺寸以及深度测量
目录 一,相机参数规格 二,结合YOLO实例分割实现裂缝尺寸以及深度测量 2.1 应用场景 2.2 实现流程 2.3 效果展示 2.4 精度验证 2.5 实物裂缝尺寸以及深度测量效果展示 一,相机参数规格 英特尔 RealSense D455 是英特尔 RealSense D400 系…...

Nacos源码—7.Nacos升级gRPC分析四
大纲 5.服务变动时如何通知订阅的客户端 6.微服务实例信息如何同步集群节点 6.微服务实例信息如何同步集群节点 (1)服务端处理服务注册时会发布一个ClientChangedEvent事件 (2)ClientChangedEvent事件的处理源码 (3)集群节点处理数据同步请求的源码 (1)服务端处理服务注册…...

TIME - MoE 模型代码 3.2——Time-MoE-main/time_moe/datasets/time_moe_dataset.py
源码:GitHub - Time-MoE/Time-MoE: [ICLR 2025 Spotlight] Official implementation of "Time-MoE: Billion-Scale Time Series Foundation Models with Mixture of Experts" 这段代码定义了一个用于时间序列数据处理的 TimeMoEDataset 类,支…...

【某OTA网站】phantom-token 1004
新版1004 phantom-token 请求头中包含phantom-token 定位到 window.signature 熟悉的vmp 和xhs一样 最新环境检测点 最新检测 canvas 下的 toDataURL方法较严 过程中 会用setAttribute给canvas 设置width height 从而使toDataURL返回不同的值 如果写死toDataURL的返回值…...