Problem 47 : Distinct primes factors

Problem Statement

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 each. What is the first of these numbers?

Solution

def primefactor(number):
    i = 2
    a = set()
    while i < number**0.5 or number == 1:
        if number % i == 0:
            number = number/i
            a.add(i)
            i -= 1
        i += 1
    return (len(a)+1)

j = 2*3*5*7

while True:
    if primefactor(j) == 4:
        j += 1
        if primefactor(j) == 4:
            j += 1
            if primefactor(j) == 4:
                j += 1
                if primefactor(j) == 4:
                    print (j-3)
                    break
    j += 1

Output

134043