-2
我已经努力了,但不能想出一种方法来做一个^(b^c)mod p出于某种原因。我能够看到a^b^c等线程。尽管这只是一个轻微的变化,但我无法做到这一点算法 - 指数 -
这是我在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)
你能分享你所做的事,所以我们可以看到你要去哪里错了?如果你使用^符号' - 你会得到'XOR'值。 Python中求幂的运算符是双星号'**'。 – Makoto 2013-04-11 04:24:32
您正在尝试重新发明轮子,请参阅http://www.tutorialspoint.com/python/python_basic_operators.htm – Thunderboltz 2013-04-11 04:59:51
我在这里看到的唯一障碍是,如果指数变大,您可能会遇到一些麻烦。因此,我会寻找一个分析简化你的问题。 – pwagner 2013-04-11 07:26:05