Skip to content

Instantly share code, notes, and snippets.

@veiset
Last active August 29, 2015 14:10
Show Gist options
  • Save veiset/b2259acbc274830a95a8 to your computer and use it in GitHub Desktop.
Save veiset/b2259acbc274830a95a8 to your computer and use it in GitHub Desktop.
from math import pow, sqrt
MAX = 10000
MAX_PRIME = int(sqrt(sqrt(MAX)))
primes = [prime for prime
in [2] + range(3, MAX_PRIME, 2)
if all(prime%i != 0 for i in range(2, prime))]
for n in range(MAX_PRIME):
if n in primes:
perfectNumber = pow(2, n-1) * (pow(2, n)-1)
if perfectNumber>MAX: break
print int(perfectNumber),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment