Python 3.x Python3在使用平方根方法查找素数时超过时间限制
我试图用python3来确定一个数字是否是素数 我被明确要求只使用以下方法: “将输入除以所有小于其平方根的正素数。” 例如,如果给定的数字是33,那么我必须将33除以[2,3,5](小于5.xx,33的平方根) 同时,在寻找[2,3,5]的过程中,除了所要求的方法外,我不能使用任何其他方法 因此,我的代码如下:Python 3.x Python3在使用平方根方法查找素数时超过时间限制,python-3.x,infinite-loop,primes,square-root,time-limiting,Python 3.x,Infinite Loop,Primes,Square Root,Time Limiting,我试图用python3来确定一个数字是否是素数 我被明确要求只使用以下方法: “将输入除以所有小于其平方根的正素数。” 例如,如果给定的数字是33,那么我必须将33除以[2,3,5](小于5.xx,33的平方根) 同时,在寻找[2,3,5]的过程中,除了所要求的方法外,我不能使用任何其他方法 因此,我的代码如下: def is_prime(num): import math a=math.sqrt(num) llist=[2,3] pri=0 for i in range(2
def is_prime(num):
import math
a=math.sqrt(num)
llist=[2,3]
pri=0
for i in range(2,int(a)+1):
root=math.sqrt(i)
for m in llist:
if m<root:
left=i%m
if left!=0:
llist.append(i)
if num in llist:
return True
for m in llist:
if num%m==0:
return False
if num%m!=0:
pri=pri+1
if pri==len(llist):
return True
def为素数(num):
输入数学
a=数学.sqrt(num)
llist=[2,3]
pri=0
对于范围(2,int(a)+1)内的i:
root=math.sqrt(i)
对于llist中的m:
如果无法复制,您确定它已停止响应,还是只是需要很长时间?你让它在一夜之间运行了吗?我不太确定……因为它只是停止了编译本身,即使我想要qq,我也不能让它在一夜之间运行