def prime_pair(x,y): '''determine if x,y are a prime_pair, i.e. xy is prime and yx is prime''' if eu.bsearch(primes, eu.num_cat(x,y)) == -1: return False if eu.bsearch(primes, eu.num_cat(y,x)) == -1: return False return True
def curious(x, primes): # First, check right truncation val = x for i in range(euler_util.length(x) - 1): val = rtrunc(val) if euler_util.bsearch(primes, val) == -1: return False # next, check left truncation val = x for i in range(euler_util.length(x) - 1): val = ltrunc(val) if euler_util.bsearch(primes, val) == -1: return False return True
def run(): primes = [p for p in euler_util.primes(1000000)] # print "primes calculated" sums = [0] + euler_util.accumulate(primes, lambda x,y:x+y, 0) # §print "sums calculated" max_dist = 0 max = 0 for i in range(1, len(sums)): if len(sums) - max_dist <= 0: break for j in range(i + max_dist + 1, len(sums)): diff = sums[j] - sums[i-1] if diff >= 1000000: break if euler_util.bsearch(primes, diff) != -1: max_dist = (j - i) + 1 max = diff
def is_prime(n): return euler_util.bsearch(primes, n) != -1
# count triangle words import euler_util tgen = euler_util.triangles() t = [tgen.next() for i in range(1000)] f = open('words.txt', 'r') data = f.read() f.close() words = [euler_util.word_value(d[1:-1]) for d in data.split(',')] words = filter(lambda x: euler_util.bsearch(t, x) != -1, words) print len(words)