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
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