模算术 modular arithmetic
https://en.wikipedia.org/wiki/Modular_arithmetic#Integers_modulo_n
模算术: 整数达到特定值时会‘ 折返 ’ 回来—— 模数 modulus(moduli)
例如: 时钟 modulo 12. 且根据定义, 12 不仅和12一致,还和0一致。
模 n 就是除数为 n 的意思。
1. 定义同余关系
如果 a-b=kn 那么说 a,b 是模n同余的。n为正整数,k为整数。
a≡b (mod n)
n为同余的模数。
同余关系写为: a=kn+b
a=pn+r
b=qn+r
r 为共同余数。0<=r<n
如 -8 ≡ 7 (mod 5) 2 ≡ -3 (mod 5) -3 ≡ -8 (mod 5) 商可以为负数,余数一定要为 正
性质1: primitive root modulo n 原根模n: 如果对于与 n互质的每一个整数 a, 都存在整数 k 使得 gk≡a (mod n) , 则 g 为原根。
n 拥有 g 当且仅当 n=2, 4, pk,2pk
2. 同余类 classes
' 同余模n' 是一个等价关系,整数 a 的等价类为一个集合: $ \overline{\mathit{a}}_{n}=\left \{ \cdots , a-2n,a-n,a,a+n,a+2n,\cdots \right \}$
这个集合就是 a,n 的等价类,或残余类。
3. 残余系统
整数集合 $ \left \{ 0,1,2, \cdots , n-1 \right \} $ 被称为 模n的最小残余系统;
对于 n 个整数的集合,如果其中没有2个同余模 n ,那么被称为 模n的完全残余系统。
例子:
取定 n=4, 那么 ‘ 同余类 ’ 可以为:
(1) a=1, set={ -3 ,1, 5,9,13,…} ,余数为 1
(2) a=2, set={-2, 2, 6, 10, 14, }, 余数为 2
(3) a=3, set={ -1, 3 , 7, 11, 15}, 余数为 3
(4) a=4, set={0, 4 , 8, 12, 16}, 余数为 0
从上面4个式子中各取一个元素出来,就组合成了 ‘’ 完全残余系统‘ ; ‘其中,’ 最小残余系统‘’ 为{1,2,3,4}
4. 约化残余系统 RRS
欧拉函数 φ: 输入为整数 n, 输出为小于n 且与n互质的正整数个数。
RRS 中的元素为 φ(n) 个,它们与 n 互质,且彼此不同余!如 n=4 时, {5,15} 为 RRS
5. 整数模 n integers modulo n
所有 ‘ 同余类’ 的集合称为 ‘ 整数模n的环’; 也就是说, Z/nZ 里的元素还是集合,如3中的(1) (2) (3) (4) , 共有n个
我们可以在这个环上定义加法,减法和乘法:

这些 集合 与 集合 的运算显然是成立的。
例如,环 Z/24Z 中
因为33除以24,余数为9
当且仅当 n 为质数时, 这个环是个有限域。
模算术 modular arithmetic的更多相关文章
- Modular Arithmetic ( Arithmetic and Algebra) CGAL 4.13 -User Manual
1 Introduction Modular arithmetic is a fundamental tool in modern algebra systems. In conjunction wi ...
- HDU2114 Calculate S(n) (取模算术)
Calculate S(n) Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- 阶乘相关<同余与模算术>
题意: 题目很简明: 令S[n]=1*1!+2*2!+3*3!+4*4!+....+n*n! 求S[n]%10000007 多组测试数据 每组一个n n的范围:1<=n<=1000000 ...
- UVA-10929-You can say 11(秦九昭算法+同余与模算术)
原题链接 1000位大数取余: 秦九昭算法+同余与模算术: 1314 = (((1)*10+3)*10+1)*10+4 ( a + b ) % n = ( ( a % n ) + ( b % n ) ...
- Modular arithmetic and Montgomery form 实现快速模乘
题目: 电音之王 题解: 求数列前n项相乘并取模 思路: ①.这题的乘法是爆long long的,可以通过快速幂的思想去解决(按数位对其中的一个数进行剖分).当然你的乘法会多出一个log的复杂度... ...
- 算术编码Arithmetic Coding-高质量代码实现详解
关于算术编码的具体讲解我不多细说,本文按照下述三个部分构成. 两个例子分别说明怎么用算数编码进行编码以及解码(来源:ARITHMETIC CODING FOR DATA COIUPRESSION): ...
- PythonStudy——算术运算符 Arithmetic operator
# 减法 # 加法 print(10 + 20) print('abc' + 'def') print([1, 2, 3] + [4, 5, 6]) Output: 30 abcdef [1, 2 ...
- tourist's modular arithmetic class
#include <bits/stdc++.h> using namespace std; template <typename T> T inverse(T a, T m) ...
- UVa-11582:Colossal Fibonacci Numbers!(模算术)
这是个开心的题目,因为既可以自己翻译,代码又好写ヾ(๑╹◡╹)ノ" The i’th Fibonacci number f(i) is recursively defined in the f ...
- 普林斯顿数学指南(第一卷) (Timothy Gowers 著)
第I部分 引论 I.1 数学是做什么的 I.2 数学的语言和语法 I.3 一些基本的数学定义 I.4 数学研究的一般目的 第II部分 现代数学的起源 II.1 从数到数系 II.2 几何学 II.3 ...
随机推荐
- 面试必问之kafka
问题1:消息队列的作用 1. 解耦 快递小哥手上有很多快递需要送,他每次都需要先电话一一确认收货人是否有空.哪个时间段有空,然后再确定好送货的方案.这样完全依赖收货人了!如果快递一多,快递小哥估计的忙 ...
- 手把手教你ubuntu下移植MJPG-streamer
一.嵌入式视频图像开源库 在嵌入式系统中,常用的视频图像处理开源系统有:luvcview.cheese.motion.mjpg-streamer或者ffmpeg,其中: • luvcview: 基于V ...
- WPF 模拟UWP原生窗口样式——亚克力|云母材质、自定义标题栏样式、原生DWM动画 (附我封装好的类)
先看一下最终效果,左图为使用亚克力材质并添加组合颜色的效果:右图为MicaAlt材质的效果.两者都自定义了标题栏并且最大限度地保留了DWM提供的原生窗口效果(最大化最小化.关闭出现的动画.窗口阴影.拖 ...
- 关于腾讯会议pc端的使用教程
一.首先先在官网下载pc端 下面是连接:腾讯会议_腾讯会议下载- 腾讯云 (tencent.com) 点击免费下载即可. 二.登录并创建会议 选择一种登录方式. 创建会议有快速会议和预定会议两种方式 ...
- 从代码到产品,我的IT职业成长之路
每个人的职业生涯都是一段充满转折和挑战的旅程,当然每一次职业转型都是一次重新定义自己的机会,从2015年开始,当时我刚踏入IT行业,成为一名Java开发者,后来随着时间的推移,我的职业方向逐渐转向了前 ...
- DataV兼容vue3的方法
发现问题 在使用vue开发大屏时,发现了一个很好用的可视化组件库DataV,不是阿里那个DataV哈,用vue2开发时都一切顺利,直到有一天升级项目到vue3时,发现一堆报错,后面查了下,好像是Dat ...
- three.js实现太阳系
前言 刚开始使用three.js时会不太熟悉,想写一些项目增加理解,网上翻了好多文章,不是画立方体就是画三角形,最后偶然看到这个网站,十分炫酷. 我们也许没那么牛逼,但我们可以整个简略版的太阳系来练练 ...
- Coursera self-driving2, State Estimation and Localization Week2, kalman filter 卡尔曼滤波
KF - Kalman Filter: EKF - Extended Kalman Filter: ES-EKF - Error State Extended Kalman Filter 和EKF一样 ...
- Vue3.5中解构props,让父子组件通信更加丝滑
前言 在Vue3.5版本中响应式 Props 解构终于正式转正了,这个功能之前一直是试验性的.这篇文章来带你搞清楚,一个String类型的props经过解构后明明应该是一个常量了,为什么还没丢失响应式 ...
- Vscode 远程切换Python虚拟环境
在VSCode中远程切换Python虚拟环境是一个涉及多个步骤的过程,包括安装必要的扩展.连接到远程服务器.创建或激活虚拟环境,并在VSCode中选择相应的Python解释器.以下是一个详细的步骤指南 ...