Projekt Euler # 15 "Gitterpfad" in Python

Problem 15 "Gitterpfad"

Wenn Sie oben links auf dem 2x2-Quadrat beginnen, gibt es 6 Routen, die rechts unten verlaufen, ohne umzukehren.

p_15.gif

Wie viele Routen gibt es dann auf dem 20 × 20-Quadrat?

Python


# n = 2
n = 20

route_nums = {}

seq = range(1, n+2)

def compute_route_num(i, j):
  if(i == 1 or j == 1):
    return 1
  else:
    return route_nums[(i-1, j)] + route_nums[(i, j-1)]

for i in seq:
  for j in seq:
    route = compute_route_num(i, j)
    route_nums[(i, j)] = route

result = route_nums[(n+1, n+1)]
result

print result
print result == 137846528820

Ergebnis


137846528820
True

Recommended Posts

Projekt Euler # 15 "Gitterpfad" in Python
Projekt Euler15 "Gitterpfad"
Funktionsprogrammierung in Python Project Euler 1
[Hinweis] Project Euler in Python (Problem 1-22)
Funktionale Programmierung in Python Project Euler 3
Projekt Euler # 5 "Minimum Multiple" in Python
Funktionsprogrammierung in Python Project Euler 2
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 # 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 # 1 "Vielfaches von 3 und 5" 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
Sortieren Sie den Pfad natürlich in Python
Projekt Euler 37
Projekt Euler 47
Projekt Euler 31
Manipulation des Datei- / Ordnerpfads in Python
Projekt Euler 4
Projekt Euler 38
Projekt Euler 26
Projekt Euler 8
Projekt Euler 22
Projekt Euler 19
Projekt Euler 50
Holen Sie sich den Desktop-Pfad in Python
Berechnen Sie den Verlust der freien Speicherplatzausbreitung in Python
Projekt Euler 33
Holen Sie sich den Skriptpfad in Python
Projekt Euler 32
Projekt Euler 43
Projekt Euler 35
Projekt Euler 36
Projekt Euler 24
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
Holen Sie sich den Desktop-Pfad in Python
Projekt Euler 18
Projekt Euler 13
Projekt Euler 30
Projekt Euler 16
Projekt Euler 14
Projekt Euler 34
Projekt Euler 25
Führen Sie eine nicht rekursive Euler-Tour in Python durch
Quadtree in Python --2