1. 程式人生 > >Python 求1000以內素數

Python 求1000以內素數

先構造從3開始的奇數數列
def _odd_iter():
	n=1
	while True:
		n=n+2
		yield n

判斷函式
def _not_divisible(n):
	return lambda x: x % n>0
返回素數函式
def primes():
	yield 2
	it = _odd_iter()
	while True:
		n=next(it)
		yield n
		it = filter(_not_divisible(n),it)

完整