当前位置:首页 > C++知识 > 正文内容

【数论】同余定理与同余方程

亿万年的星光3年前 (2023-01-07)C++知识3706
  1. 定义

    同余定理是数论中的一个重要概念。它的定义是这样的:给定一个整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m 得到一个整数,那么就成整数a和b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。

    简言之:两个整数同时除以一个整数得到的余数相同,则二整数同余。

  2. 定理

 两个整数a、b,若它们除以整数m所得的余数相等,则称a与b对于模m同余或a同余于b模m。
 记作:a≡b (mod m),
 读作:a同余于b模m,或读作a与b对模m同余,例如         26≡2(mod 12)。

    设m是大于1的正整数,a、b是整数,如果m|(a-b),则称a与b关于模m同余,记作a≡b(mod m),读作a与b对模m同余。
   显然,有如下事实
(1)若a≡0(mod m),则m|a;
(2)a≡b(mod m)等价于a与b分别用m去除,余数相同。

    3.同余方程

        同余方程就是同余式里加了一个需要我们求解的未知数。

        比如,一种同余方程(就是我们首先要讲的一次同余方程)长成这个样子:

                ax≡b(mod p)

    4.定理扩展

  • 反身性:a≡a (mod m);

  • 对称性:若a≡b(mod m),则b≡a (mod m);

  • 传递性:若a≡b(mod m),b≡c(mod m),则a≡c(mod m);

  • 同余式相加:若a≡b(mod m),c≡d(mod m),则a c≡b d(mod m);

  • 同余式相乘:若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m)。

  • 线性运算:如果a ≡ b (mod m),c ≡ d (mod m),那么

  • a ± c ≡ b ± d (mod m);

  • a * c ≡ b * d (mod m)。

  • 7.除法:若ac ≡ bc (mod m) c≠0 则 a≡ b (mod m/gcd(c,m)) 其中gcd(c,m)表示c,m的最大公约数。特殊地 ,gcd(c,m)=1 则a ≡ b (mod m)

  • 8.幂运算:如果a ≡ b (mod m),那么a^n ≡ b^n (mod m)

  • 9.若a ≡ b (mod m),n|m,则 a ≡ b (mod n)

  • 10.若a ≡ b (mod mi) (i=1,2…n) 则 a ≡ b (mod [m1,m2,…mn]) 其中[m1,m2,…mn]表示m1,m2,…mn的最小公倍数

    还有我们以前经常见到的下面的操作(同余加减法):

(a+b)%p=(a%p+b%p)%p;
(a*b)%p=a%p*b%p;
 a/b%m = (a%(b*m))/b%m;
  •     高精度取模:

12345 = ( ( (1 * 10 +2 ) * 10 +3 ) * 10 + 4 ) * 10 + 5)

 5.相关定理

  • 欧拉函数

  • 费马小定理

6.例题以及应用








扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

CSP-J2021年普及组复赛T2——插入排序

CSP-J2021年普及组复赛T2——插入排序

【题目描述】插入排序是一种非常常见且简单的排序算法。小 Z 是一名大一的新生,今天 H 老 师刚刚在上课的时候讲了插入排序算法。 假设比较两个元素的时间为 O(1),则插入排序可以以 O(n 2...

【算法】单链表的一些操作(存取、查找、取出、插入、删除)

一、单链表结构的建立与输出#include<iostream> using namespace std; struct Node{ int ...

【数论】二项式定理

【数论】二项式定理

一、基本概念上面这个式子就叫做二项式定理,又称牛顿二项式定理,该定理给出两个数之和的整数次幂诸如展开为类似项之和的恒等式。二项式定理可以推广到任意实数次幂,即广义二项式定理。 初中高中阶段比...

【数论】快速乘

【数论】快速乘

上一篇文章简单说了龟速乘的问题,有人觉得龟速乘还是太慢了,有没有什么办法再快一点,实际是有的,就是我们今天介绍的 快速乘。快速乘的原理和龟速乘不同,快速乘并不是基于二进制和位运算,严格来说,快速乘是利...

C++链表结构——单链表

0.前言存储方式分为顺序存储结构和链式存储结构。顺序存储结构的优缺点:优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前驱跟后继元素。缺...

【初级篇】函数(一)

【初级篇】函数(一)

0.函数的引入为什么要用函数呢?比较官方的说法是,过程的复用,你的一段逻辑,你有一段逻辑不断的在复用,就封装成函数去调用它。通俗的说法就是,把重复的过程集中到一块。例如,大家都学过如何求正方形的面积,...