def euler50(): primes = [] total = 0 pos = 0 limit = 0 largest = 0 for i in findPrimes(1000000): if i < 1000000: primes.append(i) while total < 1000000: total += primes[pos] pos += 1 pos -= 1 total -= primes[pos] limit = pos while limit < len(primes) - 1: temp = consecutiveSums(primes,total,limit) if temp > largest: largest = temp print largest limit += 1 total += limit pos = 0 while total > 1000000: total -= primes[0] primes = primes[1:] limit -= 1 return largest
def euler41(): largest = 0 for i in findPrimes(9999999): if isPandigital(i): print i largest = i return largest
def euler51(): primes = [] for i in findPrimes(1000000): primes.append(i) findFamilySize(157,primes) for i in primes: if len(findFamilySize(i,primes)) == 8: return i
def euler49(): primes = [] loc = [] locvalues = [] for i in findPrimes(100000): if len(str(i)) == 4: primes.append(i) for i in primes: for j in itertools.permutations(str(i)): j = int("".join(j)) if j != i and j % 2 != 0 and j not in locvalues and j in primes: loc.append(primes.index(j)) locvalues.append(j) if len(loc) == 3 and areSameDistance(locvalues[0],locvalues[1],locvalues[2]): return "" + str(locvalues[0]) + str(locvalues[1]) + str(locvalues[2]) for k in locvalues: primes.remove(k) loc = [] locvalues = []
def euler47(): p = prime.Prime() primes = [] for i in findPrimes(1000000): primes.append(i) factors = [] seq = [] n = 1 while len(seq) != 4: seq.append(n) temp = primeFactors(n,factors,primes) if n >= 134043 and n< 134047: print n,":",temp if len(temp) == 4: print n factors += temp n += 1 else: n = seq[0]+1 seq = [] factors = [] return seq