我正在尝试创建一个计算模幂指数MODEXP(a,e,p)
的函数。
此功能将m
和n
作为参数,其中p
最多为素数2^m
且e
为2^n
a
是小于p
的随机数。
这是我的代码:
import random
def question_3(m,n):
list = []
i = 1
for i in range(2,2**m):
flag=True
for num in list:
if(i%num==0):
flag=False
if flag:
list.append(i)
p = choice(list)
a = randint(1,int(p)-1)
e = pow(2,n)
return pow(a, e, p)
question_3(5,5)
对于超过20的m
和n
,代码开始挂起。我该如何预防?
答案 0 :(得分:-1)