Ich suche nach einer Erklärung dafür, wie die rekursive Version des Pascal-Dreiecks funktioniert
Das Folgende ist die rekursive Rückleitung für das Pascal-Dreieck.
%Vor%Ich verstehe, wie der Algorithmus funktioniert Was ich mich wundere ist, wie die Rekursion die Arbeit macht.
Ihr Algorithmus enthält einige unnötige Prädikate für die Basisfälle. Es kann einfacher wie folgt angegeben werden:
%Vor%Dies setzt natürlich voraus, dass Sie garantieren, dass die an die Funktion übergebenen Argumente nicht negative ganze Zahlen sind; Sie können immer eine Aussage einfügen, wenn Sie eine solche Garantie nicht von außerhalb der Funktion erheben können.
Das Pascal-Dreieck ist im Wesentlichen die Summe der beiden unmittelbar darüber liegenden Werte ....
%Vor%usw.
Für diese beiden Randbedingungen kodieren wir in speziellen Fällen (zur Initialisierung). Der Hauptteil des Codes (der rekursive Teil) ist die eigentliche Logik.
(Die Bedingung 'row == 1' ist nicht notwendig)
Siehe die Seite für den Quellcode:
%Vor%Die Ausgabe wäre
Pascal Dreieck Programm
Geben Sie die Anzahl der Zeilen ein: 11
%Vor%Das Pascal-Dreieck kann durch Hinzufügen der zwei Einträge über dem aktuellen erhalten werden.
%Vor%usw., zum Beispiel Spalte 2, Zeile 3 = Spalte 2, Zeile 2 + Spalte 1, Zeile 2, wobei die Fälle wie folgt sind:
%Vor%Hier ist der Code von @ kathir-softwareandfinance mit besser lesbaren und aussagekräftigeren Variablennamen
%Vor%Tags und Links c++ recursion pascals-triangle