def PE87(L): P = set() p = prime_sieve(int(sqrt(L))) for a in p: for b in p: qz = a**4 + b**3 if qz >= L: break for c in p: z = c**2 + qz if z >= L: break P.add(z) return len(P)
#Project Euler Problem 133 #http://blog.dreamshire.com/project-euler-133-solution/ from projecteuler import prime_sieve L, q, s = 100000, pow(10, 20), 2+3 s += sum(p for p in prime_sieve(L)[2:] if pow(10, q, p) != 1) print "Project Euler 133 Solution = ", s
#http://blog.dreamshire.com/project-euler-231-solution/ #Project Euler Problem 231 from projecteuler import prime_sieve n, r, s = 20000000, 15000000, 0 for p in prime_sieve(n): pj = p while pj <= n: s += p * (n//pj - r//pj - (n - r)//pj) pj *= p print "Project Euler 231 Solution =", s
#http://blog.dreamshire.com/project-euler-249-solution/ #Project Euler Problem 249 from projecteuler import prime_sieve, is_prime primes = prime_sieve(5000) t = [1] + [0] * sum(primes) sp = 0 for p in primes: sp += p for j in range(sp, p - 1, -1): t[j] = (t[j] + t[j - p]) print "Project Euler 249 Solution =", (sum(t[p] for p in range(sp) if is_prime(p)) % 10**16)
#http://blog.dreamshire.com/project-euler-249-solution/ #Project Euler Problem 249 from projecteuler import prime_sieve, is_prime primes = prime_sieve(5000) t = [1] + [0] * sum(primes) sp = 0 for p in primes: sp += p for j in range(sp, p-1, -1): t[j] = (t[j] + t[j-p]) print "Project Euler 249 Solution =", (sum(t[p] for p in range(sp) if is_prime(p)) % 10**16)
#http://blog.dreamshire.com/project-euler-231-solution/ #Project Euler Problem 231 from projecteuler import prime_sieve n, r, s = 20000000, 15000000, 0 for p in prime_sieve(n): pj = p while pj <= n: s += p * (n // pj - r // pj - (n - r) // pj) pj *= p print "Project Euler 231 Solution =", s
#Project Euler Problem 133 #http://blog.dreamshire.com/project-euler-133-solution/ from projecteuler import prime_sieve L, q, s = 100000, pow(10, 20), 2 + 3 s += sum(p for p in prime_sieve(L)[2:] if pow(10, q, p) != 1) print "Project Euler 133 Solution = ", s