Bei dem tollen Wetter freust du dich nicht gerade darauf, eine Stunde im Klassenzimmer zu verbringen. Genervt betrittst du den Raum und bemerkst eine seltsam zufriedenstellende Dreiecksform an der Tafel. Während du auf deinen Mathelehrer wartest, fallen dir einige Muster in dem Dreieck auf: Die äußeren Werte sind alle Einsen, jede folgende Zeile hat einen Wert mehr als die vorherige, und das Dreieck ist symmetrisch. Seltsam!
Kurz nachdem du dich gesetzt hast, betritt dein Lehrer den Raum und erklärt, dass dieses Dreieck das berühmte Pascalsche Dreieck ist.
In der nächsten Stunde zeigt dir dein Lehrer einige erstaunliche Dinge, die in diesem Dreieck stecken:
Dein Lehrer bittet dich und deine Mitschüler eindringlich, nach weiteren Anwendungen zu suchen, und versichert dir, dass es noch viel mehr gibt! In dem Moment klingelt die Schulglocke. Dir wird klar, dass du die letzte Stunde völlig in das Lernen über das Pascalsche Dreieck vertieft warst. Du schnappst dir schnell deinen Laptop aus der Tasche und gehst nach draußen, bereit, sowohl den Sonnenschein als auch die Wunder des Pascalschen Dreiecks zu genießen.
Deine Aufgabe ist es, die ersten N Zeilen des Pascalschen Dreiecks auszugeben.
Das Pascalsche Dreieck ist eine dreieckige Anordnung positiver Ganzzahlen.
Im Pascalschen Dreieck ist die Anzahl der Werte in einer Zeile gleich ihrer Zeilennummer (die bei eins beginnt). Die erste Zeile hat also einen Wert, die zweite Zeile zwei Werte, und so weiter.
Die erste (oberste) Zeile hat einen einzigen Wert: 1.
Die Werte der nachfolgenden Zeilen ergeben sich, indem du die Zahlen direkt rechts und links der aktuellen Position in der vorherigen Zeile addierst.
Wenn die vorherige Zeile keinen Wert links oder rechts der aktuellen Position hat (was nur bei der äußersten linken und rechten Position vorkommt), behandle den Wert dieser Position als null (du „ignorierst“ ihn bei der Summierung).
Schauen wir uns die ersten 5 Zeilen des Pascalschen Dreiecks an:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Die oberste Zeile hat einen Wert, nämlich 1.
Die äußersten linken und rechten Werte haben nur eine vorangehende Position, die sie berücksichtigen müssen, nämlich die Position rechts bzw. links von ihnen.
Da der oberste Wert 1 ist, folgt daraus, dass alle äußersten linken und rechten Werte ebenfalls 1 sind.
Alle anderen Werte haben zwei Positionen, die sie berücksichtigen müssen.
In der fünften Zeile (1 4 6 4 1) ist der mittlere Wert zum Beispiel 6, denn die Werte links und rechts davon in der vorherigen Zeile sind 3 und 3:
Melde dich bei Exercism an, um Euphoria mit 64 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.