Projekt Euler # 5 "Minimum Multiple" in Python

Problem 5 "Minimum multiple"

2520 ist eine durch alle Ganzzahlen von 1 bis 10 teilbare Zahl und die kleinste dieser Zahlen. Was ist dann die kleinste positive Zahl unter den durch alle ganzen Zahlen von 1 bis 20 teilbaren Zahlen?

Python


MAX = 20
seq = range(1, MAX+1)

def compute_prime_factors(x):
  prime_factors = {}
  i = 2
  while x > 1:
    if x % i == 0:
      if(not prime_factors.has_key(i)):
        prime_factors[i] = 0
      prime_factors[i] += 1
      x = x / i
    else:
      i += 1
  return prime_factors

prime_factors = [compute_prime_factors(i) for i in seq]
result_dic = {}
for dic in prime_factors:
  for key in dic.keys():
    if(result_dic.has_key(key)):
      result_dic[key] = max(result_dic[key], dic[key])
    else:
      result_dic[key] = dic[key]

factors = [key ** result_dic[key] for key in result_dic.keys()]
result = reduce(lambda x,y: x * y, factors)

print result
print result == 232792560
print prime_factors
print result_dic
print factors

Ergebnis


232792560
True
[{}, {2: 1}, {3: 1}, {2: 2}, {5: 1}, {2: 1, 3: 1}, {7: 1}, {2: 3}, {3: 2}, {2: 1, 5: 1}, {11: 1}, {2: 2, 3: 1}, {13: 1}, {2: 1, 7: 1}, {3: 1, 5: 1}, {2: 4}, {17: 1}, {2: 1, 3: 2}, {19: 1}, {2: 2, 5: 1}]
{2: 4, 3: 2, 5: 1, 7: 1, 11: 1, 13: 1, 17: 1, 19: 1}
[16, 9, 5, 7, 11, 13, 17, 19]

Recommended Posts

Projekt Euler # 5 "Minimum Multiple" in Python
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Funktionsprogrammierung in Python Project Euler 1
[Hinweis] Project Euler in Python (Problem 1-22)
Funktionale Programmierung in Python Project Euler 3
Funktionsprogrammierung in Python Project Euler 2
Projekt Euler # 15 "Gitterpfad" in Python
Projekt Euler # 4 "Maximale Kalligraphie" in Python
Projekt Euler # 3 "Maximale Primfaktoren" in Python
Projekt Euler # 11 "Maximales Produkt im Raster" in Python
Projekt Euler # 7 "1000 1. Primzahl" in Python
Projekt Euler # 16 "Summe der Kräfte" in Python
Projekt Euler # 9 "Spezielle Pitagolas-Nummer" in Python
Projekt Euler # 14 "Längste Spalte mit Kollatennummern" in Python
Projekt Euler # 2 "Gerade Fibonacci-Zahl" in Python
Projekt Euler # 17 "Anzahl der Zeichen" in Python
Projekt Euler # 8 "Maximales Produkt in Anzahl Zeichenfolge" in Python
Projekt Euler # 10 "Summe der Primzahlen" in Python
Projekt Euler # 12 "Hochangepasste Dreiecke" in Python
Projekt Euler # 13 "Summe großer Zahlen" in Python
Projekt Euler # 6 "Differenz in der Summe der Quadrate" in Python
Projekt Euler 37
Projekt Euler 7
Projekt Euler 47
Projekt Euler 31
Projekt Euler 4
Projekt Euler 38
Projekt Euler 17
Projekt Euler 26
Projekt Euler 8
Projekt Euler 23
Projekt Euler 22
Projekt Euler 19
Projekt Euler 50
Projekt Euler 42
Projekt Euler 33
Projekt Euler 32
Projekt Euler 43
Projekt Euler 35
Projekt Euler 36
Projekt Euler 24
Projekt Euler 46
Projekt Euler 48
Projekt Euler 45
Projekt Euler 6
Projekt Euler 44
Erstellen Sie eine Python-Projektdokumentation in Sphinx
Projekt Euler 39
Projekt Euler 40
Projekt Euler 49
Projekt Euler 29
Projekt Euler 27
Projekt Euler 41
Projekt Euler 18
Projekt Euler 11 "Maximales Produkt im Raster"
Projekt Euler 13
Projekt Euler 30
Projekt Euler 16
Projekt Euler 14
Projekt Euler 34
Projekt Euler 25