euler/python/e027.py

28 lines
622 B
Python

from lib_prime import primes, is_prime
def number_consecutive_primes(a, b):
def formula(n):
return n * n + a * n + b
n = 0
while True:
if not is_prime(formula(n)):
return n
n += 1
def euler_027():
n_max, a_max, b_max = 0, 0, 0
for b in primes(1000):
for a in range(-999, 1000):
a = -1 * a
n = number_consecutive_primes(a, b)
if n > n_max:
n_max, a_max, b_max = n, a, b
return a_max * b_max
if __name__ == "__main__":
print("e027.py: {}".format(euler_027()))
assert(euler_027() == -59231)