I am trying to solve prime generator problem on spoj but i got run time error. link:http://www.spoj.com/problems/PRIME1/ The code goes as below
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"
I read that NZEC error comes when constructing sieve but I don't know why? Can anyone explain that