关于某个问题的探讨

一个问题:
对于给定a,b求

aaaa..a(modp)
(其中有b个a)。

对于这个问题,有两个理解方法。
1.如果是从下向上计算,那么它的式子其实就是:

aab1

那么我们对上面的式子的指数可以用费马小定理通过 mod p1 来得到一个较小指数,然后再进行一次快速幂即可。
复杂为 O(log2p+log2(p1))
2.如果是从上向下计算,那么就可以通过扩展欧拉定理:
amamin(m,(m mod ϕ(p))+ϕ(p))(modp)

不断的递归指数,直到 ϕ(p)=1 时,返回1.
欧拉函数可以递归时算。

发布了51 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35776579/article/details/77823524
今日推荐