Source code for prime_numbers
#!/usr/bin/env python
# Copyright (C) 2011 Abhinav Jauhri
# This is free software, licensed under the Lesser Affero General
# Public License, available in the accompanying LICENSE.rtf file.
__all__ = ['rwh']
[docs]def rwh(n):
"""
Prints prime numbers <= n
Usage:
>>> n = 11
>>> prime_numbers = rwh(n)
>>> print prime_numbers
[2, 3, 5, 7, 11]
:param n: limit
:type n: int
:return: Prime numbers <= n
:rtype: list
"""
if n is 1:
return []
n = n+1
sieve = [True] * (n/2)
for i in xrange(3,int(n**0.5)+1,2):
if sieve[i/2]:
sieve[i*i/2::i] = [False] * ((n-i*i-1)/(2*i)+1)
return [2] + [2*i+1 for i in xrange(1,n/2) if sieve[i]]