【数学】完全剩余系与费马小定理

完全剩余系

我们定义 a i ( 1 ≤ i ≤ n ) a_i(1\le i\le n) ai(1in) 为模 m m m 的完全剩余系当且仅当对于 1 ≤ i , j ≤ n 1\le i,j\le n 1i,jn i ≠ j i\ne j i=j,满足 a i ≢ a j ( m o d m ) a_i\not\equiv a_j\pmod m aiaj(modm),对于 0 ≤ i < n 0\le i<n 0i<n ∃ j \exist j j 使得 a j ≡ i ( m o d m ) a_j\equiv i\pmod m aji(modm)
性质1:若数组 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,,an 为模 m m m 的完全剩余系,则 a 1 + b , a 2 + b , ⋯ , a n + b a_1+b,a_2+b,\cdots,a_n+b a1+b,a2+b,,an+b 也为模 m m m 的完全剩余系。
性质2:若数组 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,,an 为模 m m m 的完全剩余系, gcd ⁡ ( b , m ) = 1 \gcd(b,m)=1 gcd(b,m)=1,则 a 1 b , a 2 b , ⋯ , a n b a_1b,a_2b,\cdots,a_nb a1b,a2b,,anb 也为模 m m m 的完全剩余系。
以上两性质都可以由定义简单推导得到,不多做赘述。

费马小定理

费马小定理: a ∈ Z , p ∈ prime a\in\Z,p\in\text{prime} aZ,pprime,则 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv1\pmod p ap11(modp)
证明:
构造 b i = a ⋅ i ( 0 ≤ i < p ) b_i=a\cdot i(0\le i<p) bi=ai(0i<p) 显然为模 p p p 的完全剩余系
∏ i = 1 p − 1 b i ≡ ∏ i = 1 p − 1 i ( m o d p ) \prod\limits^{p-1}_{i=1}b_i\equiv\prod\limits^{p-1}_{i=1}i\pmod p i=1p1bii=1p1i(modp)
∏ i = 1 p − 1 a ⋅ i ≡ ∏ i = 1 p − 1 i ( m o d p ) \prod\limits^{p-1}_{i=1}a\cdot i\equiv\prod\limits^{p-1}_{i=1}i\pmod p i=1p1aii=1p1i(modp)
约去 ∏ i = 1 p − 1 i \prod\limits^{p-1}_{i=1}i i=1p1i,得 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv1\pmod p ap11(modp),证毕。
费马小定理适用于求乘法逆元。

性能(求乘法逆元)

  • 时间复杂度 Θ ( log ⁡ p ) \Theta(\log p) Θ(logp)

代码(就是快速幂,所以不贴了

练习

  • 洛谷P3811

注:有一种线性求逆元的方法,故部分凉心题目会卡掉纯费马小定理写法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频账号矩阵系统+无人直播系统源码技术开发

短视频账号矩阵系统无人直播系统源码技术开发涉及到多个领域&#xff0c;包括但不限于前端开发、后端开发、数据库设计、网络通信等。 以下是一些基本技术的步骤和注意事项&#xff1a; 1.技术需求分析设计&#xff1a;首先&#xff0c;需要明确开发短视频账号矩阵系统和无人直…

玩转k8s:yaml介绍

一.Yaml文件详解 1.Yaml文件格式 &#xff08;1&#xff09;Kubernetes 支持 YAML 和 JSON 格式管理资源对象 &#xff08;2&#xff09;JSON 格式&#xff1a;主要用于 api 接口之间消息的传递 &#xff08;3&#xff09;YAML 格式&#xff1a;用于配置和管理&#xff0c;…

Springboot+vue的科研工作量管理系统的设计与实现(有报告),Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的科研工作量管理系统的设计与实现&#xff08;有报告&#xff09;&#xff0c;Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的科研工作量管理系统的设计与实现…

python_ACM模式《剑指offer刷题》链表1

题目&#xff1a; 面试tips&#xff1a; 询问面试官是否可以改变链表结构 思路&#xff1a; 1. 翻转链表&#xff0c;再遍历链表打印。 2. 想要实现先遍历后输出&#xff0c;即先进后出&#xff0c;因此可借助栈结构。 3. 可用隐式的栈结构&#xff0c;递归来实现。 代码…

从复杂数据到直观洞察:山海鲸助你一臂之力

作为山海鲸可视化的开发者&#xff0c;我们深知在数据可视化领域的挑战与机遇。山海鲸可视化软件正是我们为应对这些挑战而打造的一款强大工具&#xff0c;旨在为用户提供更高效、更直观的数据呈现方式&#xff0c;本文单纯从数据可视化角度带大家了解一下我们这款软件的优势。…

Nginx问题分析

问题再现 分析问题&#xff1a; 就是通过http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js 地址访问&#xff0c;找不到对应的js文件 首先确认文件在服务器的位置 发现这个目录下确实有这个js文件&#xff0c;那问题就在于http://182.44.16.68:8077/web-ui…

rabbitmq基础-java-4、Direct交换机

1、简介 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 2、特点 在Direct模型下&#xff1a; 队列与交换机的绑定&#xff0c;…

Linux网络 ---- PXE高效批量网络装机

目录 一、系统装机 1、系统装机方式 2、系统装机的三种引导方式 3、系统安装过程 二、PXE原理和概念 1、PXE概述 2、搭建PXE网络体系所需条件 3、PXE批量部署的优点 4、PXE通常涉及以下几个组件&#xff1a; 5、PXE实现过程详细 三、搭建过程 1、搭建过程服务详解 …

C++ | 函数重载是什么意思?【面试题】C++支持函数重载的原理是什么?详细讲解

函数重载 一个词有多种含义&#xff0c;可以通过上下文来判断该词的真实含义&#xff0c;即该词被重载了。 “同一个函数名&#xff0c;由于参数个数不同、类型结构不同&#xff0c;在c能够同时使用” 函数重载概念及分类 函数重载&#xff1a;是函数的一种特殊情况&#x…

IO多路复用-select(附通信代码)

IO多路复用-select 1. IO多路复用概述 I/O多路复用&#xff08;I/O Multiplexing&#xff09;是一种通过一种机制同时监听多个文件描述符&#xff08;sockets、文件、设备等&#xff09;的技术。它可以使一个进程在等待多个 I/O 操作完成时不会阻塞&#xff0c;从而提高程序的…

Golang 定时任务的几种实现方法

摘要&#xff1a;在 Golang 开发中&#xff0c;定时任务是常见的需求。本文将介绍几种在 Golang 中实现定时任务的方法&#xff0c;包括 time 包的定时器、ticker&#xff0c;以及第三方库 cron&#xff0c;并通过示例代码展示它们的使用方式。 一、time 包的定时器&#xff08…

luceda ipkiss教程 57:画微环调制器

案例分享&#xff1a;画微环调制器 全部代码如下&#xff1a; from si_fab import all as pdk from ipkiss3 import all as i3class DC(i3.PCell):straight_length i3.PositiveNumberProperty(default200)radius i3.PositiveNumberProperty(default50)spacing i3.Positive…

Spring Cloud Gateway 路由配置策略

Spring Cloud Gateway 路由配置策略 Spring Cloud Gateway 是一个基于 Spring Boot 2.x 和 Spring WebFlux 的轻量级网关服务&#xff0c;用于构建微服务架构中的 API 网关。它提供了一种简单、高效、灵活和可扩展的方式来路由请求到后端的微服务。 Spring Cloud Gateway 的核心…

幻兽帕鲁PalWorld服务器搭建详细教程

幻兽帕鲁PalWorld是一款由Pocketpair开发的游戏&#xff0c;融合了多种玩法&#xff0c;其独特的题材和画风吸引了很多玩家。为了更好地进行游戏体验&#xff0c;很多玩家选择自行搭建服务器。本文将详细介绍如何搭建幻兽帕鲁PalWorld服务器。 第一步&#xff1a;购买服务器 根…

Unity | 渡鸦避难所-8 | URP 中利用 Shader 实现角色受击闪白动画

1. 效果预览 当角色受到攻击时&#xff0c;为了增加游戏的视觉效果和反馈&#xff0c;可以添加粒子等动画&#xff0c;也可以使用 Shader 实现受击闪白动画&#xff1a;受到攻击时变为白色&#xff0c;逐渐恢复为正常颜色 本游戏中设定英雄受击时播放粒子效果&#xff0c;怪物…

verilog的模块参数定义

在Verilog中&#xff0c;模块参数定义的定义分为两种&#xff1a;模块声明时定义的参数和模块体内部定义的参数。 模块声明时定义的参数&#xff08;Module Parameter&#xff09;&#xff1a; 模块声明时定义的参数是在模块实例化时提供的常量值。它们是通过模块实例化语句的参…

小程序直播项目搭建

项目功能&#xff1a; 登录实时聊天点赞功能刷礼物取消关注用户卡片直播带货优惠券直播功能 项目启动&#xff1a; 1 小程序项目创建与配置&#xff1a; 第一步 需要登录小程序公众平台的设置页面进行配置&#xff1a; 首先需要是企业注册的才可以个人不能开通直播功能。服务类…

extends 和 implements

以下是 extends 和 implements 在Java代码中的区别和示例&#xff1a; 示例1&#xff1a;使用 extends 实现类继承 // 定义一个父类 Animal public class Animal {public void eat() {System.out.println("动物在吃东西");}public void sleep() {System.out.printl…

java获取一段视频/mp4的时长

引言 在日常开发中&#xff0c;经常会遇到产品经理提出一个需求“上传视频”&#xff0c;而且还得显示出视频的播放时长&#xff0c;我们直接上最简单的代码&#xff0c;必须是最简单&#xff0c;多一句啰嗦都不准点赞。 How to do 1.提前引入包 <!--视频多媒体工具包 包…

Java-Objec

Objec Class Object是类Object结构的根。 每个班都有Object作为超类。 所有对象&#xff08;包括数组&#xff09;都实现了这个类的方法。 一.构造 二.常用方法 Modifier and TypeMethod and Descriptionprotected Objectclone() 创建并返回此对象的副本。 booleanequals(Obj…