栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何计算a ^^ b mod m?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何计算a ^^ b mod m?

需要明确的是,a ^^ b与a ^ b不同,它是指数塔a ^(a ^(a ^ … ^ a)),其中有b个a的副本,也称为四元数。令T(a,b)= a
^^ b,因此T(a,1)= a且T(a,b)= a ^ T(a,b-1)。

要计算T(a,b)mod m = a ^ T(a,b-1)mod m,我们要计算具有极大指数的mod
m的幂。您可以使用的是模幂运算是周期前的,周期前长度最大为m的素数分解中质数的最大幂,最大为log_2
m,周期长度除以phi(m),其中phi(m)是Euler的totient函数。实际上,周期长度除以m的Carmichael函数
lambda(m)。所以,

a^k mod m = a^(k+phi(m)) mod m as long as k>log_2 m.

请注意,a不一定是相对于m的素数(或以后相对于phi(m),phi(phi(m))等)。如果是,则可以说a ^ k mod m = a ^(k mod
phi(m))mod m。但是,当a和m不是相对质数时,这并不总是正确的。例如,phi(100)= 40,2 ^ 1 mod 100 = 2,但2 ^ 41
mod 100 =52。您可以将大指数减少为mod phi(m)至少为log_2 m的全数,因此您可以说2 ^ 10001 mod 100 = 2 ^ 41
mod 100,但是您不能将其减少为2 ^ 1 mod100。您可以定义一个mod m [minimum x]或使用min +
mod(a-min,m)只要一个>分钟。

如果T(a,b-1)> [log_2 m],则

a^T(a,b-1) mod m = a^(T(a,b-1) mod phi(m) [minimum [log_2 m]])

否则,只需计算a ^ T(a,b-1)mod m。

递归计算。您可以用lambda(m)替换phi(m)。

计算2 ^ 32以下数字的素数分解不会花费很长时间,因为您最多可以确定2 ^ 16 =
65,536个试验分区中的素数。像phi和lambda这样的数论函数很容易用素因数分解表示。

在每个步骤中,您将需要能够以小指数计算模幂。

您最终需要计算幂mod phi(m),然后幂mod phi phi(phi(m)),然后幂mod phi
phi(phi(phi(phi(m)))),依此类推。在迭代phi之前不需要那么多迭代函数为1,这意味着您将所有内容都减少为0,并且不再通过增加塔的高度来进行任何更改。

这是一个示例,属于高中数学竞赛中的一种,在竞赛中,参赛者应重新发现并手动执行。14 ^^ 2016的后两位数字是多少?

14^^2016 mod 100 = 14^T(14,2015) mod 100= 14^(T(14,2015) mod lambda(100) [minimum 6]) mod 100= 14^(T(14,2015 mod 20 [minimum 6]) mod 100T(14,2015) mod 20 = 14^T(14,2014) mod 20= 14^(T(14,2014) mod 4 [minimum 4]) mod 20T(14,2014) mod 4= 14^T(14,2013) mod 4= 14^(T(14,2013 mod 2 [minimum 2]) mod 4T(14,2013) mod 2= 14^T(14,2012) mod 2= 14^(T(14,2012 mod 1 [minimum 1]) mod 2= 14^(1) mod 2= 14 mod 2= 0T(14,2014) mod 4 = 14^(0 mod 2 [minimum 2]) mod 4= 14^2 mod 4= 0T(14,2015) mod 20= 14^(0 mod 4 [minimum 4]) mod 20 = 14^4 mod 20= 16T(14,2016) mod 100= 14^(16 mod 20 [minimum 6]) mod 100= 14^16 mod 100= 36

因此,14 ^ 14 ^ 14 ^ … ^ 14结尾于数字… 36。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号