CPU和墙时间中的Python内存错误
我尝试使用一个函数来计算三个变量的模指数,并在以下情况下比较CPU和墙壁时间:CPU和墙时间中的Python内存错误,python,Python,我尝试使用一个函数来计算三个变量的模指数,并在以下情况下比较CPU和墙壁时间: e=2^n and e=2^n-1 这是我的密码: from random import choice import random def question_3(m,n): list = [] for i in range(2,2**m): flag=True for num in list: if(i%num==0):
e=2^n and e=2^n-1
这是我的密码:
from random import choice
import random
def question_3(m,n):
list = []
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)
time t = question_3(150,100)
但当我输入m和n时,它会给我:
range() result has too many items
这是因为您正在强制
range
生成太多数据。例如,range(2,2*1234567891011)
将生成长度为2*1234567891011-2
的列表,这不是有点太多了吗
请尝试使用xrange()
,它会在需要时生成数据,而不是在调用时生成所有数据
将其更改为:
for i in xrange(2,2**m):
看起来很简单,但有很大的区别。希望这有帮助