较为冷门(?)的数论知识,但在解决一些特殊问题上有着重要的作用。

整数的阶

根据欧拉定理有正整数 \(n\) 和一个与 \(n\) 互素的整数 \(a\),那么有 $a^{\phi(n)} \equiv 1 \pmod{n} $。因此至少存在一个整数满足这个方程。并且由良序原理可得一定存在一个最小正整数满足这个方程。、

定义:设 \(a\) 和 \(n\) 是互素的整数,\(a\not = 0\),\(n > 0\),使得 \(a^x\equiv 1 \pmod n\) 的最小正整数称之为 **\(a\) 模 \(n\) 的阶 **,记作 \(\mathrm{ord}_na\)。

定理1

如果 \(a\) 和 \(n\) 为互素的整数,且 \(a\not = 0\)、\(n>0\),那么正整数 \(x\) 是同余方程 \(a^x\equiv 1 \pmod n\) 的一个解当且仅当 $ \mathrm{ord}_na \mid x$。

证明:

假设 \(a^x\equiv 1 \pmod n\),并将 \(x\) 表示为:

\[x=k\times \mathrm{ord}_na + r\ \ \ (0\le r< \mathrm{ord}_na)
\]

得:

\[a^x=a^{k\times \mathrm{ord}_na + r}=(a^{k\times \mathrm{ord}_na})^r\equiv a^r\pmod n
\]

因为 \(a^x\equiv 1 \pmod n\),所以 \(a^r\equiv 1 \pmod n\),又因为 \(\mathrm{ord}_na\) 为使得该同余方程右边为 \(1\) 的最小正整数,所以 \(r=0\),所以有 \(x=k\times \mathrm{ord}_na\),固有 $ \mathrm{ord}_na \mid x$。

推论1.1

如果 \(a\) 和 \(n\) 为互素的整数,且 \(n>0\),那么 \(\mathrm{ord}_na \mid \phi(n)\)。

根据定理1不难得证。

定理2

如果 \(a\) 和 \(n\) 为互素的整数,且 \(n>0\),那么 \(a^i\equiv a^j \pmod n\) 当且仅当 \(i \equiv j \pmod {\mathrm{ord}_na}\)。\(i\) 和 \(j\) 均为非负整数。

证明:

假设 \(a^i\equiv a^j \pmod n\) 且 \(j\le i\)。因为 \(a \equiv 1 \pmod {n}\),所以 \(a^j \equiv 1 \pmod n\)。那么可列出下面狮子:

\[a^i \equiv a^j \equiv a^ja^{i-j} \pmod n
\]

约掉 \(a^j\) 则有:

\[a^{i-j} \equiv 1 \pmod n
\]

由定理1可得 \(\mathrm{ord}_na \mid i-j\),换个形式:\(i \equiv j \pmod {\mathrm{ord}_na}\)。得证。

这条性质非常重要,换个说法就是当 \(a\) 的指数小于 \(\mathrm{ord}_na\) 的时候所有模后的数都是不相等的。接下来说明原根的性质时还会提到类似的这一点。这可以把某些程序的复杂度 \(\mathcal{O}(n)\) 压缩到 \(\mathcal{O}(\mathrm{ord}_na)\)。是一个很大的优化。

原根

定义:如果 \(r\) 和 \(n\) 是互素的整数且 \(n>0\),那么当 \(\mathrm{ord}_nr=\phi(n)\) 时,称 \(r\) 是 \(n\) 的原根。

某个整数的阶是一定存在的,但原根可不是什么整数都有的。考虑哪些正整数有原根。一个整数存在原根当且仅当他为 \(2,4,p^k,2p^k\),其中 \(p\) 为奇素数,\(k\) 为正整数。

定理3

如果正整数\(r\) 和 \(n\) 互素,并且 \(n>0\), 如果 \(r\) 是 \(n\) 的一个原根,那么下列整数

\[r^1,r^2,\dots,r^{\phi(n)}
\]

构成了模 \(n\) 的既约剩余系。

没写完呢~

不太好理解。破译过来就是,这些整数模 \(n\) 的值在指数为 \(1\) 到 \(\phi(n)\) 的时候是互不相等的,并且这些整数模 \(n\) 的值只有这些,也就是取尽了整个值域。并且他们每 \(\phi(n)\) 个一循环。

[学习笔记] 阶 & 原根 - 数论的更多相关文章

  1. [学习笔记]NTT——快速数论变换

    先要学会FFT[学习笔记]FFT——快速傅里叶变换 一.简介 FFT会爆精度.而且浮点数相乘常数比取模还大. 然后NTT横空出世了 虽然单位根是个好东西.但是,我们还有更好的东西 我们先选择一个模数, ...

  2. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  3. JavaScript学习笔记(十)——高阶函数之map,reduce,filter,sort

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  4. 五一DAY1数论学习笔记

    by ruanxingzhi 整除性 如果a能把b除尽,也就是没有余数,则我们称a整除b,亦称b被a整除.(不是除以,是整除!!) 记作:\(a|b\) |这个竖杠就是整除符号 整除的性质 自反性 对 ...

  5. [学习笔记] 多项式与快速傅里叶变换(FFT)基础

    引入 可能有不少OIer都知道FFT这个神奇的算法, 通过一系列玄学的变化就可以在 $O(nlog(n))$ 的总时间复杂度内计算出两个向量的卷积, 而代码量却非常小. 博主一年半前曾经因COGS的一 ...

  6. 快速傅里叶变换(FFT)学习笔记(其二)(NTT)

    再探快速傅里叶变换(FFT)学习笔记(其二)(NTT) 目录 再探快速傅里叶变换(FFT)学习笔记(其二)(NTT) 写在前面 一些约定 前置知识 同余类和剩余系 欧拉定理 阶 原根 求原根 NTT ...

  7. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  8. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  9. 初等数论学习笔记 III:数论函数与筛法

    初等数论学习笔记 I:同余相关. 初等数论学习笔记 II:分解质因数. 1. 数论函数 本篇笔记所有内容均与数论函数相关.因此充分了解各种数论函数的名称,定义,符号和性质是必要的. 1.1 相关定义 ...

  10. BZOJ 2120 数颜色&2453 维护队列 [带修改的莫队算法]【学习笔记】

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 3665  Solved: 1422[Submit][Status][Discuss] ...

随机推荐

  1. 【iOS】bugly进阶系列

    初学者使用bugly仅仅是用于接受崩溃日志,但是其实bugly除了接受崩溃之外还可以做许多事情.这里我把bugly分成三大模块逐一进行探讨. (其实bugly顶部的三个标题就预示着bugly的功能本来 ...

  2. Java面试知识点(五)hashmap、hashtable和hashset

    1. 关于 HashMap 的一些说法: a) HashMap 实际上是一个 "链表散列" 的数据结构,即数组和链表的结合体.HashMap 的底层结构是一个数组,数组中的每一项是 ...

  3. 逆向通达信 x 逆向微信 x 逆向Qt

    本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18252961 本篇内容包括: win32窗口嵌入Qt UI.反斗玩转signal-slot.最后 通达信 x 微信 ...

  4. TI AM64x工业核心板规格书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)

    1 核心板简介 创龙科技SOM-TL64x是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F设计的多核工业级核心 ...

  5. 计算订单签收率的sql查询思路与过程(涉及百分比和四舍五入)

    领导提出一个签收率需求,想要通过数据库达到excel中表现的形式,提高计算速度和工作效率, 如下形式: 数据库中表数据结构: 部分数据如下: sql语句思路如下: -- 1.已签收:以物流反馈管道,状 ...

  6. Centos7安装Redis详细步骤(配置开机自启)

    Redis 获取redis安装包使用tar命令解压. $ tar -zxzf redis-6.2.6.tar.gz 编译和安装redis 进入redis目录,执行make编译. $ cd redis- ...

  7. 树莓派4B-MAX9814麦克风模块

    树莓派4B-MAX9814麦克风模块 硬件需求 树莓派 MAX9814模块 杜邦线 MAX9814模块 电子特性 实验电路板 实验电路局部 典型工作特性 引角接线 代码展示 import RPi.GP ...

  8. 轻松掌握useAsyncData获取异步数据

    title: 轻松掌握useAsyncData获取异步数据 date: 2024/7/12 updated: 2024/7/12 author: cmdragon excerpt: 摘要:本文详细介绍 ...

  9. 经典面试题函数柯里化: add(1)(2)(3) = 6

    function currying() { const args = Array.prototype.slice.call(arguments); const inner = function () ...

  10. RS232转PN协议网关模块连接PLC和霍尼韦尔条码扫描器通信

    为了更快地输入信息,许多设备都配备了条码扫描器,但条码扫描器不能直接与CPU通信.最直接和方便的方法是加RS232转PN协议网关模块(BT-PNR20).本文将深入研究如何利用巴图自动化的RS232转 ...