我正在尝试解决spoj上的主生成器问题,但我得到了运行时错误。 链接:http://www.spoj.com/problems/PRIME1/ 代码如下
def sieve(n):
from math import sqrt
x=int(sqrt(n))
numbers=[None]*x
for i in range(2,x):
numbers[i]= True
primes=[]
for i in range(2,x):
if numbers[i]==True:
primes.append(i)
b=i**2
while b<x:
numbers[b]=False
b=b+i
return primes
T=int(raw_input())
for i in range(T):
m,n=raw_input().split()
m,n=int(m),int(n)
segmentedlist=[None]*n
for i in range(n):
segmentedlist[i]=True
A=sieve(n)
prime=[]
for i in A:
u=i*(m/i)
while u<n:
segmentedlist[u]=False
u=u+i
for i in range(m,n):
if segmentedlist[i]==True:
prime.append(i)
for i in prime:
print i
print "\n"
我读到NZEC错误时,建设筛子,但我不知道为什么? 有人能解释一下吗
目前没有回答
相关问题 更多 >
编程相关推荐