diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-01-14 14:30:56 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-01-14 14:30:56 +0100 |
| commit | f588a2e670f9cd92590ee535619168ca933b8098 (patch) | |
| tree | 3ce32c02c529dd7deef54443597156b521c2342b /python/047-distinct_primes_factors.py | |
| parent | 41b7f521b911e48b80286df701186f18d2bfdff3 (diff) | |
| download | project_euler-f588a2e670f9cd92590ee535619168ca933b8098.tar.gz project_euler-f588a2e670f9cd92590ee535619168ca933b8098.tar.bz2 project_euler-f588a2e670f9cd92590ee535619168ca933b8098.zip | |
problem 47 in python
Diffstat (limited to 'python/047-distinct_primes_factors.py')
| -rw-r--r-- | python/047-distinct_primes_factors.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/python/047-distinct_primes_factors.py b/python/047-distinct_primes_factors.py new file mode 100644 index 0000000..30b76bc --- /dev/null +++ b/python/047-distinct_primes_factors.py @@ -0,0 +1,49 @@ +### +# Distinct primes factors +# Problem 47 +# +# 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 = 2² × 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? +### + + +import itertools + + +# from: https://en.wikipedia.org/wiki/Trial_division +def count_prime_factors(num): + factors = [] + if num % 2 == 0: + factors.append(2) + while num % 2 == 0: + num //= 2 + f = 3 + while f * f <= num: + if num % f == 0: + if not f in factors: + factors.append(f) + num //= f + else: + f += 2 + if num != 1: + factors.append(num) + return len(factors) + + +for n in itertools.count(1): + if (count_prime_factors(n) == 4 and + count_prime_factors(n + 1) == 4 and + count_prime_factors(n + 2) == 4 and + count_prime_factors(n + 3) == 4): + print(n) + break |
