《算法竞赛中的初等数论》正文 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) ar≡1 (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) ai≡aj(modp),当且仅当 i ≡ j ( m o d o r d p a ) i \\equiv j(\\mod ord_p\\ a) i≡j(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) ar≡1 (modp), a i ≡ a j ( m o d p ) a^i \\equiv a^j(\\mod p) ai≡aj(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) i≡j(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,⋯,ar−1 互不相同。
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,a2⋯aφ(n)
构成了模 n n n 的既约剩余系(简化剩余系)并且有 p − 1 p-1 p−1个,也就是恰好为 1 ⋯ p − 1 1\\cdots p-1 1⋯p−1中与 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,⋯,gp−1,在模 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 xd≡1(modp)恰好有 d d d 个解 ( d ∣ ( p − 1 ) ) (d|(p-1)) (d∣(p−1))
性质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)(十五万字符数论书)