Project Euler Problem 27

Python

def is_prime(n):
    if n < 2:
        return False
    d = 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1
    return True

def quadratic_func(a, b):
    return (lambda n: n * n + a * n + b)

def len_of_prime_sequence(func):
    n = 0
    while is_prime(func(n)):
        n += 1
    return n

max_len = 0
for a in range(-999, 1000):
    for b in range(-1000, 1001):
        len = len_of_prime_sequence(quadratic_func(a, b))
        if len > max_len:
            max_len = len
            answer = a * b
print(answer)