Hallo,
zunächst einmal möchten wir, dass unser Array wie ein Dreieck "geformt" ist - sprich, es gibt immer mehr Elemente, je höher die Ebene liegt. Dabei können wir gleich in das erste- bzw. letzte Element unsere '1' schreiben:
Delphi-Quellcode:
for i:=0 to Ebenen -1 do
begin
SetLength(PasDreieck[i], i+1); // Länge für jede Ebene um 1 erweitern
PasDreieck[i,Low(PasDreiech[i])] := 1; // Eins am Anfang
PasDreieck[i,high(PasDreieck[i])] := 1; // Eins am Ende
end;
Code:
Das pascalsche Dreieck ist eine Form der grafischen Darstellung der Binomialkoeffizienten, die auch eine einfache Berechnung dieser erlaubt. Sie sind im Dreieck derart angeordnet, dass jeder Eintrag die Summe der zwei darüberstehenden Einträge ist
Soll für uns heißen: durchlaufe alle
leeren Felder und schreibe die Summe der beiden drüber liegenden Werte hinein:
Delphi-Quellcode:
for i:=2 to Ebene -1 do
for j:=1 to High(PasDreieck[i]) -1 do
begin
PasDreieck[i,j] := PasDreieck[i-1,j-1] + PasDreieck[i-1, j];
end;
Anbei noch ein kleines Bildchen, allerdings sehe ich gerade, dass es Wikipedia deutlich besser visualisiert als ich es könnte
/Edit: Die Farben geben an, welche Werte zu welchen Ergebnissen führen. (Die beiden braunen ergeben z.B. die braune 2)