《算法竞赛中的初等数论》正文 0x60 原根(ACM / OI / MO)(二十万字符数论书)

Posted 繁凡さん

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《算法竞赛中的初等数论》正文 0x60 原根(ACM / OI / MO)(二十万字符数论书)相关的知识,希望对你有一定的参考价值。

整理的算法模板合集: ACM模板

点我看算法全家桶系列!!!

实际上是一个全新的精炼模板整合计划


写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无任何商业用途。因个人实力时间等原因,本文并非完全原创,请大家见谅。

《算法竞赛中的初等数论》(六)正文 0x60 原根(ACM / OI / MO)(二十万字符数论书)

《算法竞赛中的初等数论》(信奥 / 数竞 / ACM)前言、后记、目录索引(十五万字符的数论书)

全文目录索引链接: https://fanfansann.blog.csdn.net/article/details/113765056


0x60 原根

本章只简单涉及了一些原根的性质和应用,具体原根更详细的性质证明详见:https://oiwiki.org/math/number-theory/primitive-root/#_7

0x61 整数的阶、原根与指标

0x61.1 整数的阶

定义: a a a p p p为正整数,且 g c d ( a , p ) = 1 gcd(a, p) = 1 gcd(a,p)=1 ,称满足 a r ≡ 1   ( m o d   p ) a^r \\equiv 1 \\ (mod \\ p) ar1 (mod p)最小正整数 r r r a a a p p p的阶 ,记作 o r d p   a ord_p\\ a ordp a

我们可以将整数的阶理解为 a % p a\\%p a%p下的阶 t t t 相当于 a % p a\\%p a%p 的循环节,每次乘上 a t a^t at ,值都不变。

基本性质

性质61.1.1: 由欧拉定理 a φ ( p ) ≡ 1   ( m o d    p ) a^{\\varphi(p)} \\equiv1\\ (\\mod p) aφ(p)1 (modp),故可以得到 阶 t   ∣   φ ( p ) t \\ |\\ \\varphi(p) t  φ(p)

性质61.1.2: 如果 a a a p p p 互素的整且 p > 0 p>0 p>0 ,则正整数 x x x 是同余式 a x ≡   ( m o d    p ) a^x \\equiv\\ (\\mod p) ax (modp)的一个解当且仅当 o r d p   a   ∣   x ord_p\\ a\\ |\\ x ordp a  x

性质61.1.3: 如果 a a a n n n 是互素的整数且 n > 0 n>0 n>0 ,那么 a i ≡ a j ( m o d    p ) a^i \\equiv a^j(\\mod p) aiaj(modp),当且仅当 i ≡ j ( m o d    o r d p   a ) i \\equiv j(\\mod ord_p\\ a) ij(modordp a),其中 i i i j j j 是非负整数。

因为 a a a 的阶 r r r a r ≡ 1   ( m o d    p ) a^r \\equiv 1\\ (\\mod p) ar1 (modp) a i ≡ a j ( m o d    p ) a^i \\equiv a^j(\\mod p) aiaj(modp)两边同余两边一直除以 a r a^r ar,相当于同时减去 r r r,所以 i ≡ j ( m o d    o r d p   a ) i \\equiv j(\\mod ord_p\\ a) ij(modordp a) 的正确性显然。

性质61.1.4: a a a 关于模 p p p 的阶为 r r r,则 a 0 , a 1 , a 2 , ⋯   , a r − 1 a^0,a^1,a^2,\\cdots,a^{r-1} a0,a1,a2,,ar1 互不相同。

0x61.2 整数的原根

定义: O r d p ( a ) = φ ( p ) Ord_p(a)=\\varphi(p) Ordp(a)=φ(p) ,则称这样的 a a a模数 p p p 的原根,记作 R t ( p ) = a Rt(p)=a Rt(p)=a

原根就是特殊情况的阶

理解: 对于模数 p p p ,找到一些数 a a a,满足 a a a 的次方循环节恰好为 φ ( p ) \\varphi(p) φ(p),这些数就是模数 p p p 的原根

-● 基本性质定理:

定理61.2.1: 如果 r r r n n n 互质且 n > 0 n>0 n>0,则如果 r r r 是模 n n n 的一个原根,那么下列整数:

a , a 2 ⋯ a φ ( n ) a,a^2\\cdots a^{\\varphi(n)} a,a2aφ(n)

构成了模 n n n 的既约剩余系(简化剩余系)并且有 p − 1 p-1 p1个,也就是恰好为 1 ⋯ p − 1 1\\cdots p-1 1p1中与 p p p 互质的数的一个排列,对应着欧拉函数的定义。

即可以得到:若 p p p 为素数,对于模 p p p 的原根 g g g ,满足 g 1 , g 2 , ⋯   , g p − 1 g^1,g^2,\\cdots,g^{p-1} g1,g2,,gp1,在模 p p p 的意义下,互不相同。(这点非常重要,引申出了 0x64.1的乘法换加法算法

性质61.2.2: 若一个正整数 n n n 有原根,则其有 φ ( φ ( n ) ) \\varphi(\\varphi(n)) φ(φ(n)) 个原根 。

性质61.2.3: x d ≡ 1 ( m o d p ) x^d\\equiv 1\\pmod p xd1(modp)恰好有 d d d 个解 ( d ∣ ( p − 1 ) ) (d|(p-1)) (d(p1))

性质61.2.3: 如果 o r d p   a = t ord_p\\ a=t ordp a=t 并且 u u u 是一个正整数,那么有 o r d p ( a u ) = t g c d ( t , u ) ord_p(a^u)=\\cfrac{t}{gcd(t,u)} o以上是关于《算法竞赛中的初等数论》正文 0x60 原根(ACM / OI / MO)(二十万字符数论书)的主要内容,如果未能解决你的问题,请参考以下文章

《算法竞赛中的初等数论》正文 0x50筛法(ACM / OI / MO)(十五万字符数论书)

《算法竞赛中的初等数论》正文 0x50筛法(ACM / OI / MO)(十五万字符数论书)

《算法竞赛中的初等数论》正文 0x00整除0x10 整除相关(ACM / OI / MO)(十五万字符数论书)

初等数论 ——原根指标及其应用

转载学习总结:初等数论——原根指标及其应用

我的所有优质博客全部开源啦(我自己原创的《ACM模板》《算法全家桶》《算法竞赛中的初等数论》 PDF免费下载)