Advertisement
danchaofan

Euler #87

Dec 26th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.53 KB | None | 0 0
  1. def primes_sieve(limit):
  2.     a = [True] * limit
  3.     a[0] = a[1] = False
  4.  
  5.     for (i, isprime) in enumerate(a):
  6.         if isprime:
  7.             yield i
  8.             for n in range(i * i, limit, i):
  9.                 a[n] = False
  10.  
  11. primes, nums = list(primes_sieve(7072)), []
  12.  
  13. for a in primes:
  14.     print(primes.index(a))
  15.     for b in primes:
  16.         for c in primes:
  17.             if (a**2 + b**3 + c**4) < 50*(10**6):
  18.                 nums.append(a**2 + b**3 + c**4)
  19.                 continue
  20.             break
  21. print(len(set(nums)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement