Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
def euler41():
	largest = 0
	for i in findPrimes(9999999):
		if isPandigital(i):
			print i
			largest = i
	return largest
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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 = []
Ejemplo n.º 5
0
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