我已经很努力了,但由于某种原因,我想不出一种方法来做 a^(b^c) mod p。我能够看到 a^b^c 等 .. mod p 的线程,即使这只是一个微小的变化,我也无法做到
这就是我在 Python 代码中所拥有的:
def exponent_mod(a, b, c, m):
def modular_pow(base, exponent, modulus):
result = 1
while (exponent > 0):
if (exponent % 2 == 1):
result = (result * base) % modulus
exponent = exponent >> 1
base = (base * base) % modulus
return result
m_ = modular_pow(a, b, m)
return modular_pow(m_, c, m)