Example #1
0
from tools import get_primes
import datetime

a = []
n = 1000000

#ts = datetime.datetime.now()
list_of_primes = get_primes(n)
#print datetime.datetime.now() - ts
#ts = datetime.datetime.now()

primes = set(p for p in list_of_primes)

max_sum = 0
max_len = 0
for i in range(len(list_of_primes)):
    sum = 0
    len = 0
    while sum < list_of_primes[-1]:
        sum = sum + list_of_primes[len]
        len = len + 1
        if len > max_len and sum in primes:
            max_len = len
            max_sum = sum
    del list_of_primes[0]

#print datetime.datetime.now() - ts
print "Prime " + str(max_sum)
##Consider numbers t(n) of the form t(n) = 2n^2-1 with n > 1.
##The first such numbers are 7, 17, 31, 49, 71, 97, 127 and 161.
##It turns out that only 49 = 7*7 and 161 = 7*23 are not prime.
##For n 10000 there are 2202 numbers t(n) that are prime.
##
##How many numbers t(n) are prime for n 50,000,000 ?

from tools import get_primes
n = 10000
list_of_primes = get_primes(n*100)
set_of_primes = set(p for p in list_of_primes)
def t(n):
    return (2*(n**2))-1
p=0
i=0

for n in range(2,n):
    i+=1
##    if i % 1000 == 0:
##        print i
    if t(n) in set_of_primes:
        p+=1
        print t(n)
##    print "--- %d" % (n)
##print "-----"
print i
print p

Example #3
0
from tools import get_primes
from tools import is_permutation
import datetime

a = []
n = 9999

ts = datetime.datetime.now()
list_of_primes = [prime for prime in get_primes(n) if prime > 999]
set_of_primes = set(p for p in list_of_primes)

#print "\n".join(str(p) for p in list_of_primes)
print datetime.datetime.now() - ts
ts = datetime.datetime.now()

for p1p in range(len(list_of_primes)):
    p1 = list_of_primes[p1p]
    for p2p in range(p1p+1, len(list_of_primes)):
        p2 = list_of_primes[p2p]
        p3 = (p2+(p2-p1))
        if p3 in set_of_primes:
            #print "p1 " + str(p1) + " p2 " + str(p2) + " (p2+(p2-p1)) " + str(p2+(p2-p1))
            if is_permutation(str(p1), str(p2)) and is_permutation(str(p2), str(p3)):
                print str(p1) +"  "+ str(p2) +"  "+ str(p3)

print datetime.datetime.now() - ts