模运算gydF4y2B一个
模块化算术gydF4y2B一个一个算术系统是为了什么gydF4y2B一个整数gydF4y2B一个,考虑到gydF4y2B一个剩余部分gydF4y2B一个。在模算术中,数字在达到一个给定的固定量(这个给定的量称为模)时“绕圈”,留下余数。模运算经常和质数联系在一起,比如gydF4y2B一个威尔逊的定理gydF4y2B一个,gydF4y2B一个卢卡斯的定理gydF4y2B一个,gydF4y2B一个Hensel的lemma.gydF4y2B一个,通常出现在以下领域gydF4y2B一个密码学gydF4y2B一个,gydF4y2B一个计算机科学gydF4y2B一个,以及计算机代数。gydF4y2B一个
模运算的直观用法是用一个12小时的时钟。如果现在是10点,那么5个小时后时钟会显示3点而不是15点。3是15的余数,模是12。gydF4y2B一个
一个号码gydF4y2B一个 是等价于求余数吗gydF4y2B一个 除以gydF4y2B一个 。两个整数gydF4y2B一个 和gydF4y2B一个 是同余的(或在同一等价类中)模的gydF4y2B一个 如果除法后余数相同gydF4y2B一个 。在这种情况下,我们说gydF4y2B一个
内容gydF4y2B一个
作为余数的模算术gydF4y2B一个
理解模运算最简单的方法是把它看成是一个数除以另一个数的余数。例如,因为15和-9除以12剩下的余数是一样的,所以我们说gydF4y2B一个
这允许我们具有模块化算术的简单方法:首先执行通常的算术,然后找到剩余部分。例如,找到gydF4y2B一个 ,我们可以gydF4y2B一个
并将其除以11,给我们gydF4y2B一个
但是,当数字变大时,这可能会变得凌乱。我们可以采取的一种方法是首先在分开11时找到123和321的剩余者(剩下的是2),执行通常的算术,并再次找到其余的算术。在这个例子中,自从gydF4y2B一个 和gydF4y2B一个 ,我们可以得出结论gydF4y2B一个
同余gydF4y2B一个
对于一个正整数gydF4y2B一个 的整数gydF4y2B一个 和gydF4y2B一个 都是相等的gydF4y2B一个 如果他们的余数除以gydF4y2B一个 是相同的。gydF4y2B一个
正如我们在上面看到的,52和24是相等的(取余7)因为gydF4y2B一个 和gydF4y2B一个
请注意,gydF4y2B一个 是不同的gydF4y2B一个
另一种定义方法是整数gydF4y2B一个 和gydF4y2B一个 都是相等的gydF4y2B一个 如果他们的区别gydF4y2B一个 是的整数倍吗gydF4y2B一个 ,即“如果”gydF4y2B一个 剩下的0。gydF4y2B一个
36和10是相等的(取余13),因为它们不同gydF4y2B一个 是的整数倍吗gydF4y2B一个 , 那是,gydF4y2B一个
除了gydF4y2B一个
模算术中加法的性质:gydF4y2B一个
- 如果gydF4y2B一个 ,然后gydF4y2B一个
- 如果gydF4y2B一个 ,然后gydF4y2B一个 对于任何一个整数gydF4y2B一个
- 如果gydF4y2B一个 和gydF4y2B一个 ,然后gydF4y2B一个
- 如果gydF4y2B一个 ,然后gydF4y2B一个
现在是晚上7点。1000小时后是几点(上午或下午)?gydF4y2B一个
时间每24小时“重复”一次,所以我们以24为模数工作。自gydF4y2B一个
1000小时的时间等于16小时的时间。因此,1000小时后是上午11点。gydF4y2B一个
求31和148以24为模的和。gydF4y2B一个
解决方案1:gydF4y2B一个
31取24的模等于7。如果我们使用wiki中提到的第一个模块加法规则,我们会发现gydF4y2B一个 。Modulo 24中的155是11。gydF4y2B一个解决方案2:gydF4y2B一个
如前所述,31取24的模等于7。我们不使用第一条规则,而是使用第二条规则。148取24的模是4。现在,我们要找的是7+4,也就是gydF4y2B一个 。gydF4y2B一个
求下面的余数gydF4y2B一个 除以gydF4y2B一个
我们知道gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 。从性质3,我们有gydF4y2B一个
自gydF4y2B一个 有剩余的gydF4y2B一个 除以gydF4y2B一个 ,也是如此gydF4y2B一个 因此答案是gydF4y2B一个 。gydF4y2B一个
乘法gydF4y2B一个
模乘法出现在数学的许多领域,并有许多广泛的应用,包括密码学、计算机科学和计算机代数。gydF4y2B一个
模运算中乘法的性质gydF4y2B一个:gydF4y2B一个
- 如果gydF4y2B一个 ,然后gydF4y2B一个 。gydF4y2B一个
- 如果gydF4y2B一个 ,然后gydF4y2B一个 对于任何一个整数gydF4y2B一个 。gydF4y2B一个
- 如果gydF4y2B一个 和gydF4y2B一个 ,然后gydF4y2B一个 。gydF4y2B一个
是什么gydF4y2B一个
自gydF4y2B一个 和gydF4y2B一个 ,我们有gydF4y2B一个
求下面的余数gydF4y2B一个 除以gydF4y2B一个 。gydF4y2B一个
我们上面做了类似的问题,其中迹象都是gydF4y2B一个 而不是gydF4y2B一个 。在这种情况下,手动添加数字不会花这么多的时间,尽管模块化算术解决方案更快。gydF4y2B一个
在这个例子中,相乘是非常乏味的。相反,我们重复使用性质3。我们知道gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 ,gydF4y2B一个 。因此,gydF4y2B一个
表示乘积,除以gydF4y2B一个 剩下gydF4y2B一个
证明模运算中乘法的性质3如下所示:gydF4y2B一个
如果gydF4y2B一个 和gydF4y2B一个 ,然后gydF4y2B一个 。gydF4y2B一个
通过对等价的定义,gydF4y2B一个 是gydF4y2B一个 和gydF4y2B一个 是gydF4y2B一个 也就是说,gydF4y2B一个
为常量gydF4y2B一个 和gydF4y2B一个 。然后gydF4y2B一个
这意味着gydF4y2B一个 是gydF4y2B一个 因此gydF4y2B一个 ,或gydF4y2B一个 。gydF4y2B一个
求幂gydF4y2B一个
由于取幂是重复的乘法,我们得到:gydF4y2B一个
模运算中幂的性质:gydF4y2B一个
如果gydF4y2B一个 ,然后gydF4y2B一个 对于任何正整数gydF4y2B一个 。gydF4y2B一个
我们可以写gydF4y2B一个 以…的形式gydF4y2B一个 , 在哪里gydF4y2B一个 是一些整数。然后我们有gydF4y2B一个
现在注意到这一总和的所有条款是如何倍数的gydF4y2B一个 ,除了最后一次gydF4y2B一个 。因此gydF4y2B一个
是什么gydF4y2B一个
我们观察到gydF4y2B一个
然后根据幂的性质,我们得到gydF4y2B一个
在上面的例子中,我们不需要找到确切的值gydF4y2B一个 它非常大gydF4y2B一个
最后一位是什么gydF4y2B一个
一个数的最后一位等于取模于10的数。以10为模,我们有gydF4y2B一个
找出的最后三位数字gydF4y2B一个
我们有gydF4y2B一个
我们可以写gydF4y2B一个 作为gydF4y2B一个
自gydF4y2B一个 剩下gydF4y2B一个 除以gydF4y2B一个 ,它的最后三位数是gydF4y2B一个 。gydF4y2B一个
找到整数的示例gydF4y2B一个 在哪里gydF4y2B一个 , 但gydF4y2B一个 。gydF4y2B一个
许多的组合gydF4y2B一个 将在这里工作。我们以gydF4y2B一个 和gydF4y2B一个 ,我们从哪里得到gydF4y2B一个 , 但gydF4y2B一个 而gydF4y2B一个 。gydF4y2B一个
重要的外带是指数财产仅适用于基础。如果您想使用权力,您将需要gydF4y2B一个欧拉定理gydF4y2B一个。gydF4y2B一个
部门gydF4y2B一个
这是棘手的。考虑gydF4y2B一个 。注意,我们不能简单地把方程两边都除以2,因为gydF4y2B一个 。这表明,通常,划分没有很好地定义。由于以下属性显示,如果我们添加条件gydF4y2B一个 是Coprime,然后分裂变得很好。gydF4y2B一个
模运算中除法的性质gydF4y2B一个:gydF4y2B一个
如果gydF4y2B一个 和gydF4y2B一个 ,然后gydF4y2B一个 。gydF4y2B一个
这个性质为真,因为gydF4y2B一个 是gydF4y2B一个 和gydF4y2B一个 ,然后gydF4y2B一个 必须划分gydF4y2B一个 同样,gydF4y2B一个 。gydF4y2B一个
乘法逆gydF4y2B一个
模块化逆gydF4y2B一个 在整数模环中gydF4y2B一个 是一个整数gydF4y2B一个 这样gydF4y2B一个
从gydF4y2B一个欧几里得辗转相除法gydF4y2B一个和gydF4y2B一个Bezout的身份gydF4y2B一个,我们有以下结果是模块化算术中的乘法逆的存在:gydF4y2B一个
如果gydF4y2B一个 和gydF4y2B一个 是整数gydF4y2B一个 ,则存在一个整数gydF4y2B一个 这样gydF4y2B一个 。gydF4y2B一个
被称为gydF4y2B一个乘法逆元gydF4y2B一个的gydF4y2B一个 模gydF4y2B一个
下面的Python代码展示了我们如何通过实现扩展的欧几里得算法来计算模逆:gydF4y2B一个
Python实现gydF4y2B一个
12 3 4 5 6 7 8 9 10 11 12 13 14gydF4y2B一个 |
|
应用题gydF4y2B一个
解决问题-基本gydF4y2B一个
解决问题-中级gydF4y2B一个
马克·亨宁gydF4y2B一个
是否有一个正整数gydF4y2B一个 的gydF4y2B一个 是一个斐波纳契号吗?gydF4y2B一个
如果gydF4y2B一个 质数是这个形式吗gydF4y2B一个 ,然后有gydF4y2B一个 第七个权力(+1帐户为0)。这给出了与斐波纳契残留不同的残留物的战斗机。所以,我们尝试表格的最小素数gydF4y2B一个 也就是29。gydF4y2B一个
我们可以检查一下gydF4y2B一个 ,这给了我们gydF4y2B一个
当观察以29为模的斐波那契数列的余数时,我们得到了重复序列gydF4y2B一个
快速检查一下,我们发现没有数字出现在两个序列中,因此答案是没有。gydF4y2B一个