Wie Sie einen Code in C++ unter Verwendung von Lucas Serie schreiben

July 31

Die Fähigkeit zu denken rekursiv ist sehr wichtig für Softwareentwickler. Eine rekursive Softwareroutine wiederholt durch Verweisen auf sich selbst zu einem bestimmten Zeitpunkt. Eine solche Routine hat eine Minimallösung, das endet der Rekursion und verhindert, dass die Routine endlos weitermachen. Die meisten Programmierer erfahren wie die Fibonacci-Folge codiert, wenn sie die Rekursion erfahren. Eine sehr ähnliche Reihe von Zahlen ist der Lucas Series kann, und es auch gelöste rekursiv. Die Lucas Series beginnt mit den Nummern 2 und 1. Jede nachfolgende Zahl in der Reihe ist die Summe der beiden vorangegangenen--zum Beispiel ist die dritte Ziffer 3 (1 + 2), gefolgt von 4(3+1), gefolgt von 7 (4 + 3) und So weiter.

Anweisungen

1 Starten Sie Ihre C++-IDE und erstellen Sie eine neue C++-Quellcodedatei.

2 Erstellen Sie eine Funktion mit dem Namen Lucas. Der größte Teil des Programms wird feed Lucas eine Reihe und erwarten Lucas eine Nummer zurück an sie übergeben. Diese Syntax wird erreicht, indem etwa folgendermaßen schreiben:

Int lucas(int x)

{

}

3 Richten Sie die erste Base-Fall. Der erste Base-Fall tritt ein, wenn der Zahl Eingang in die Lucas-Funktion 0 ist. Die Folge davon ist den Wert 2 Main ausgeben. Sie erreichen dies durch Hinzufügen einer "If"-Anweisung an der Innenseite der geschweiften Klammern der Lucas-Funktion wie folgt:

Wenn (X == 0) {return 2;}

4 Der zweite Base-Fall eingerichtet. Der zweite Base-Fall tritt ein, wenn der Zahl Eingang in die Lucas-Funktion 1. Die Folge davon ist den Wert 1 Main ausgeben. Sie können diese "else If"-Anweisung wie folgt, unter die "if"-Anweisung aus Schritt 3 schreiben:

elseif (X == 1) {return 1;}

5 Richten Sie den rekursiven Aufruf. Dieser Aufruf wird die Lucas-Funktion selbst zwei weitere Male, das Ergebnis der vorherigen beiden Ergebnisse in der Lucas-Series Addition aufrufen. Dieses rekursiven Aufrufs kann so aussehen und geht unter der "If-else"-Anweisung in Schritt 4:

Else {return Lucas (x - 1) + Lucas (x - 2);}

6 Lucas in der main-Funktion aufrufen. Sie werden Ihre Hauptfunktion unter die fertige Lucas-Funktion, außerhalb seiner geschweiften Klammern setzen. Die gesamte main-Funktion sollte wie folgt aussehen:

Int main()

{Int y = lucas(7); Cout << y << Endl; return 0;}

7 Kompilieren Sie und führen Sie dieses Programm (viele Entwicklungsumgebungen erreichen dies durch Drücken von F5). Die Ausgabe des Programms werden die ersten acht Zahlenwerte in der Lucas-Series: 2, 1, 3, 4, 7, 11, 18, 29.

Tipps & Warnungen

  • Dieses Programm ist höchst ineffizient, um einfach zu sein. Große Zahlen generiert viele tausend identisch-rekursive Aufrufe. Durch das Auswendiglernen die Ergebnisse wie die Programm-Erlöse, kann es erheblich effizienter gemacht werden.