示例#1
0
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) 
示例#2
0
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)
示例#3
0
#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
示例#4
0
#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
示例#5
0
#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)
示例#6
0
#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)
示例#7
0
#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
示例#8
0
#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