Solution to Problem 47. Written in Python.

Problem: The first two consecutive numbers to have two distinct prime factors are:

14 = 2 × 7
15 = 3 × 5

The first three consecutive numbers to have three distinct prime factors are:

644 = 22 × 7 × 23
645 = 3 × 5 × 43
646 = 2 × 17 × 19

Find the first four consecutive integers to have four distinct prime factors. What is the first of these numbers?

from problems.euler_lib import euler_lib as lib

primes = lib.eratosthenes_sieve(1000)

candidates = [n for n in xrange(1, 150000) if len(lib.prime_factorization(n, primes)) == 4]

i = 0
candidates_len = len(candidates)
while i < candidates_len - 3:
    first = candidates[i + 1] - candidates[i]
    second = candidates[i + 2] - candidates[i + 1]
    third = candidates[i + 3] - candidates[i + 2]

    if first == 1 and second == 1 and third == 1:
        print candidates[i]

    i += 1