【数学】整除与同余

基本概念

在数论中,整除不得不说是一种最为基础的知识了。
a a a 整除 b b b,记作 a ∣ b a|b ab
a , b ∈ Z a,b\in\Z a,bZ b ≠ 0 b\ne 0 b=0,则 b ∣ a b|a ba 当且仅当 ∃ q ∈ Z \exist q\in\Z qZ 满足 q b = a qb=a qb=a

同余可以看做是整除的进阶版了。
a a a 除以 b b b 的余数,记作 a m o d b a\mod b amodb
a , b ∈ Z a,b\in\Z a,bZ b ≠ 0 b\ne 0 b=0,则唯一存在 q ∈ Z q\in\Z qZ 满足 q b + r = a qb+r=a qb+r=a 使得 0 ≤ r < b 0\le r<b 0r<b,称为带余除法,记 a m o d b = r a\mod b=r amodb=r
x , y , m ∈ Z x,y,m\in\Z x,y,mZ m ≠ 0 m\ne 0 m=0,当且仅当 x m o d m = y m o d m x\mod m=y\mod m xmodm=ymodm,称 x x x y y y 在模 m m m 意义下同余,记作 x ≡ y ( m o d m ) x\equiv y\pmod m xy(modm)

基本性质

作为一个 OIer,似乎并不需要知道以下性质的证明,虽然很好证就是了。

  • a ∣ b , b ∣ c a|b,b|c ab,bc,则 a ∣ c a|c ac
    不妨设 b = p a , c = q b b=pa,c=qb b=pa,c=qb 其中 p , q ∈ Z p,q\in\Z p,qZ
    联立得 c = p q a = p q ⋅ a c=pqa=pq\cdot a c=pqa=pqa
    a ∣ c a|c ac
  • a ∣ b a∣b ab a ∣ c a∣c ac,则 a ∣ b x + c y ∀ x , y ∈ Z a|bx+cy\forall x,y\in\Z abx+cyx,yZ
    不妨设 b = p a , c = q a b=pa,c=qa b=pa,c=qa 其中 p , q ∈ Z p,q\in\Z p,qZ
    b x + c y = p x a + q y a = ( p x + q y ) ⋅ a bx+cy=pxa+qya=(px+qy)\cdot a bx+cy=pxa+qya=(px+qy)a
    a ∣ b x + c y a|bx+cy abx+cy
  • a ∣ b a∣b ab c ∣ d c∣d cd,则 a c ∣ b d ac∣bd acbd
    不妨设 b = p a , d = q c b=pa,d=qc b=pa,d=qc 其中 p , q ∈ Z p,q\in\Z p,qZ
    b d = p a ⋅ q c = p q ⋅ a c bd=pa\cdot qc=pq\cdot ac bd=paqc=pqac
    a c ∣ b d ac|bd acbd
  • p ∣ ( a − b ) p∣(a−b) p(ab) 等价于 a ≡ b ( m o d p ) a\equiv b\pmod p ab(modp)
    不妨设 b = , d = q c b=,d=qc b=,d=qc 其中 p , q ∈ Z p,q\in\Z p,qZ
    b d = p a ⋅ q c = p q ⋅ a c bd=pa\cdot qc=pq\cdot ac bd=paqc=pqac
    a c ∣ b d ac|bd acbd
  • a ≡ a ( m o d p ) a\equiv a \pmod p aa(modp)
    易证。
  • a ≡ b ( m o d p ) a\equiv b \pmod p ab(modp) 等价于 b ≡ a ( m o d p ) b\equiv a \pmod p ba(modp)
    易证。
  • a ≡ b ( m o d p ) a\equiv b \pmod p ab(modp) b ≡ c ( m o d p ) b\equiv c \pmod p bc(modp),则 a ≡ c ( m o d p ) a\equiv c \pmod p ac(modp)
    不妨设 b = a + k 1 p , c = b + k 2 p b=a+k_1p,c=b+k_2p b=a+k1p,c=b+k2p
    c = a + k 1 p + k 2 p = a + ( k 1 + k 2 ) ⋅ p c=a+k_1p+k_2p=a+(k_1+k_2)\cdot p c=a+k1p+k2p=a+(k1+k2)p
    a ≡ c ( m o d p ) a\equiv c \pmod p ac(modp)
  • a ≡ b ( m o d p ) a\equiv b \pmod p ab(modp),则 a + c ≡ b + c ( m o d p ) a + c\equiv b + c \pmod p a+cb+c(modp)
    不妨设 b = a + k 1 p b=a+k_1p b=a+k1p
    b + c = a + k 1 p + c ≡ a + c ( m o d p ) b+c=a+k_1p+c\equiv a+c\pmod p b+c=a+k1p+ca+c(modp)
    a + c ≡ b + c ( m o d p ) a + c\equiv b + c \pmod p a+cb+c(modp)
  • a ≡ b ( m o d p ) a\equiv b \pmod p ab(modp),则 a c ≡ b c ( m o d p ) ac\equiv bc \pmod p acbc(modp)
    不妨设 b = a + k 1 p b=a+k_1p b=a+k1p
    b c = ( a + k 1 p ) ⋅ c = a c + k 1 p c ≡ a c ( m o d p ) bc=(a+k_1p)\cdot c=ac+k_1pc\equiv ac\pmod p bc=(a+k1p)c=ac+k1pcac(modp)
    a c ≡ b c ( m o d p ) ac\equiv bc \pmod p acbc(modp)
  • a ≡ b ( m o d p ) a\equiv b \pmod p ab(modp),则 a n ≡ b n ( m o d p ) a^n\equiv b^n \pmod p anbn(modp)
    不妨设 b = a + k 1 p b=a+k_1p b=a+k1p
    则由二项式定理 b n = ( a + k 1 p ) ⋅ c = ∑ i = 0 n ( k i ) ⋅ a i ( k 1 p ) n − i ≡ a n ( m o d p ) b^n=(a+k_1p)\cdot c=\sum_{i=0}^n{k\choose i}\cdot a^i(k_1p)^{n-i}\equiv a^n\pmod p bn=(a+k1p)c=i=0n(ik)ai(k1p)nian(modp)
    a n ≡ b n ( m o d p ) a^n\equiv b^n\pmod p anbn(modp)

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

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

相关文章

re:Invent 云端历程:Swami Sivasubramanian 博士主题演讲-数据共生与开放

re:Invent 云端历程&#xff1a;Swami Sivasubramanian 博士主题演讲-数据共生与开放 亚马逊云科技 re:Invent 大会简介 亚马逊云科技 re:Invent 是亚马逊云科技为全球云计算社区举办的学习大会。是云计算领域的行业风向标&#xff0c;科技界的全球年度重磅盛会。 亚马逊云科…

Golang 领域驱动设计(DDD)最佳实践

Golang 领域驱动设计(DDD)最佳实践 Golang 领域驱动设计(DDD)最佳实践背景整体设计合理的创建标题,有助于目录的生成代码实现领域层什么是实体(Entity)?基础设施层数据对象表现层一些技巧检查结构体是否实现了某接口的防御代码适应于 Go Web 应用的错误处理对象拷贝Gol…

Docker笔记:简单部署 nodejs 项目和 golang 项目

docker 简单的维护 nodejs 项目容器 1 &#xff09;Nodejs 程序 const express require(express) const app express()app.get(/, (req, res) > {res.send(首页) })app.get(/news, (req, res) > {res.send(news) })// dokcer 做端口映射不要指定ip app.listen(3000)2…

爬虫学习日记第九篇(爬取seebug)

目标&#xff1a;https://www.seebug.org/vuldb/vulnerabilities 需求&#xff1a;爬取cve_id及影响组件 单线程 cookie是有时效的(过一段时间就不行了&#xff0c;大概半小时左右)&#xff0c;但是并不需要登录(直接抓包拿到的请求头) import base64 import json import ur…

vue 封装对象深拷贝方法

vue 封装对象深拷贝方法 在 src/ utils文件夹下面新建index.js // index.js// 深拷贝对象 export function deepClone(obj) {const _toString Object.prototype.toString// null, undefined, non-object, functionif (!obj || typeof obj ! object) {return obj}// DOM Nodei…

cuda version 管理

https://towardsdatascience.com/managing-multiple-cuda-versions-on-a-single-machine-a-comprehensive-guide-97db1b22acdchttps://towardsdatascience.com/managing-multiple-cuda-versions-on-a-single-machine-a-comprehensive-guide-97db1b22acdc不同项目设置不同的cuda…

Python网络编程基础:探索网络的未知领域

写在开头 在当今数字化时代&#xff0c;网络已经贯穿我们生活的方方面面&#xff0c;成为信息传递和交流的重要媒介。而Python&#xff0c;作为一门强大而灵活的编程语言&#xff0c;自然也在网络编程领域展现出其强大的一面。本文将带领读者进入Python网络编程的未知领域&…

小航助学2023年9月电子学会Scratch四级真题(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09; 单选题3.00分 删除编辑附件图文 答案:A 第1题角色为一个紫色圆圈&#xff0c;运行程序后&#xff0c;舞台上的图案是&#xff1f;&#xff08; &#xff09; A…

Spring定时任务动态更改(增、删、改)Cron表达式方案实例详解

Spring定时任务动态更改&#xff08;增、删、改&#xff09;Cron表达式方案实例详解 最近在做一个需求&#xff0c;用户可以在平台上配置任务计划数据&#xff08;就是任务的执行和描述的相关信息&#xff0c;包括任务参数、cron表达式&#xff09;&#xff0c;配置后&#xf…

永久安装任何 IPA 文件:TrollStore 助你打破限制 | 开源日报 No.106

Azure/azure-quickstart-templates Stars: 13.4k License: MIT 这个项目是 Azure Resource Manager QuickStart Templates&#xff0c;它包含了社区贡献的所有当前可用的 Azure 资源管理器模板。维护着一个可搜索的模板索引&#xff0c;并提供如何使用或向该存储库做出贡献的…

12.12年末大促,退换货寄件5元起 !

促销新闻报道&#xff1a; 在双十二促销季&#xff0c;闪侠惠递携手圆通、申通、中通、京东、德邦推出了一系列寄件促销活动&#xff01;在这场活动中&#xff0c;退换货运费贵&#xff0c;你该怎么办&#xff1f;从今天开始&#xff0c;闪侠惠递和五大物流企业为您带来了一场…

Redis核心知识小结

基础 redis为什么快呢&#xff1f; 单线程基于io多路复用底层C语言对数据结构做了优化完全内存的操作 Redis6.0使用多线程是怎么回事? Redis不是说用单线程的吗&#xff1f;怎么6.0成了多线程的&#xff1f; Redis6.0的多线程是用多线程来处理数据的读写和协议解析&#x…

运筹优化 | 模拟退火求解旅行商问题 | Python实现

"""模拟退火旅行商""" import random import numpy as np import math import time import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False location np.loadtxt(city_location.t…

linux 调试工具 GDB 使用

gdb是linux下常用的代码调试工具&#xff0c;本文记录常用命令。 被调试的应用需要使用 -g 参数进行编译&#xff0c;如不确定可使用如下命令查看是否支持debug readelf -S filename | grep "debug" 启动调试 gdb binFile 例如要调试sshd&#xff1a; 调试带参数…

线性回归问题

目录 一、线性回归关键思想 1、线性模型 2、基础优化算法 二、线性回归的从零开始实现 1、生成数据集 2、读取数据集 3、初始化模型参数 4、定义模型 5、定义损失函数 6、定义优化算法 7、训练 三、线性回归的简洁实现 1、生成数据集 2、读取数据集 3、定义模型…

读这篇文章让你彻底了解Redis

我是Redis 你好&#xff0c;我是Redis&#xff0c;一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生&#xff0c;跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候&#xff0c;MySQL过的很辛苦&#xff0c;互联网发展的越来越快&#xff0c;它容纳的数…

学习笔记 -- CAN系统基础

一、CAN物理层 一个双节点CAN网络示意图如下&#xff0c;两颗120Ω终端电阻并联呈现总线电阻60Ω。 A、B两个节点的CAN收发器&#xff08;Transceiver&#xff09;&#xff0c;只负责电平转换。当总线静默时&#xff0c;收发器内部的2.5V电源经15KΩ电阻把CAN-H和CAN-L都拉到2.…

浅入研究 tcache_perthread_struct

Index 前情提要过程总结 前情提要 tcache_perthread_struct 是GLIBC从2.27开始引入的机制&#xff0c;本质就是链表。 最近我在复现CISCN往年题目&#xff0c;刚好想仔细研究研究劫持等的原理是什么&#xff0c;于是就研究了一会。 过程 找ChatGPT要了一段申请删除堆块的示例…

六:Day05_Spring Security01

一、Spring Security引入 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制&#xff08;认证和授权&#xff09;框架。它是保护基于 Spring 应用程序的事实标准。 2. 认证授权 认证授权实现平台所有用户的身份认证与用户授权功能。 2.1 什么是用户认证 认证…

关于pytorch中的dim的理解

今天碰到一个代码看起来很简单&#xff0c;但是细究原理又感觉好像不太通不太对劲&#xff0c;就是多维tensor数据的操作&#xff0c;比如&#xff1a;y.sum(dim2)&#xff0c;乍一看很简单数据相加操作&#xff0c;但是仔细一想&#xff0c;这里在第3维度的数据到底是横向相加…