RosettaCodeData/Task/Prime-decomposition/Python/prime-decomposition-2.py

19 lines
310 B
Python

primelist = [2,3]
def is_prime(n):
for y in primes():
if not n % y: return False
if n > y * y: return True
def primes():
for n in primelist: yield n
n = primelist[-1] + 2
while True:
n += 2
for x in primelist:
if not n % x: break
if x * x > n:
primelist.append(n)
yield n
break