原根

来源:互联网 发布:mac电脑的安卓模拟器 编辑:程序博客网 时间:2024/04/28 09:52

每次队里面讨论数论都要被虐一顿,回来恶补一下数论。

首先从原根开始补。什么是原根呢。百度搜出来的关于原根的东西都是一些进阶的说法,上了wiki才发现一个好的解释。(以下摘自维基百科)

在数论,特别是整除理论中,原根是一个很重要的概念。

对于两个正整数(a,m)=1,由欧拉定理可知,存在正整数d <= m-1, 比如说欧拉函数d= φ(m),即小于等于 m 的正整数中与 m 互素的正整数的个数,使得a^d == 1 (mod m) 。

由此,在(a,m)=1时,定义a对模m的指数δ m(a)为使a^d === 1 (mod m)成立的最小的正整数d。由前知 δm(a) 一定小于等于 magnet:?xt=urn:btih:b7b4a0a65bdd3d9463b5c6fa166b36883a293746(m),若δ m(a) = φ(m),则称a是模m的原根。

例子

接下来强行学习一下原根的性质。摘自(http://www.docin.com/p-474482341.html)

这里写图片描述

这里写代码片

那个趣味题例题(例3)给的也挺不错的。揭示了原根的另一个意义,幂能够遍历模数的剩余系。运用巧妙的代换把简化剩余系表示成原根的连续幂次和。

接下来是简单做一做原根的题目,找一个奇质数的原根,找一个奇质数的2次幂的原根,求一个2*p^2的原根。嗯嗯。。只是用一用定理(我觉得定理二没什么卵用)

接下来就是重头戏了,如何科学找原根,其实原根都是有特殊性质的,之间都是有联系的。

这里写图片描述
这里写图片描述

到这里我们总算明白原根到底有什么用了。原根的真正用途就如例3所述,能够遍历整个简化剩余系。(感觉这个性质非常厉害的样子,能够提高密码被破译的难度什么的)
正因为他能够遍历整个剩余系,所以他们直接肯定是互相关联的。简单来理解一下这个定理吧。
首先对于模m的剩余系就 φ(m)个,所以本质上不同的原根肯定是小于这个 φ(m)个的(最好的情况就是每一个剩余系有一个原根,虽然这是不存在的)。接下来的任务就是找出哪个剩余系里面有原根。然后我们知道可以用一个原根g来表示整个剩余系,于是所有的可能的原根都可以用g^i来表示,而g^i到底是不是原根呢要保证i, 2i, 3i,4i, 5i, …. (φ(m)-1)i, 能够遍历 φ(m), 那其实就是要保证i与 φ(m)互质就好。那么就是有 φ( φ(m))个这样的东西。

我们来实践一下做一些题。

========待续============

0 0
原创粉丝点击