Sie müssen eine Rekursion verwenden, um diese Probleme zu lösen.
Es ist möglich, sie nicht rekursiv zu lösen, und Sie werden wahrscheinlich versucht sein, Tools zu verwenden, die Sie bereits verstehen. Dies besiegt jedoch den Zweck dieser Übung, die mit Rekursion komfortabler werden soll.
Für jede dieser Übungen, ohne Code zu verwenden, wird erwartet, dass Sie Folgendes identifizieren:
Starten Sie jedes Problem, indem Sie das Problem verstehen und eine Probeneingabe und -ausgabe finden. In einigen Bohrungen haben wir Probeneingänge und -ausgänge für Ihre Bequemlichkeit bereitgestellt.
Schreiben Sie eine rekursive Funktion, die zählt, wie viele Schafe über den Zaun springen. Ihr Programm sollte eine Nummer als Eingabe aufnehmen. Diese Nummer sollte die Anzahl der Schafe sein, die Sie haben. Die Funktion sollte die Nummer zusammen mit der Meldung "Ein anderes Schaf über den Zaun springen" anzeigen, bis keine Schafe mehr übrig sind.
Schreiben Sie eine Funktion namens PowerCalculator (), die zwei Parameter nimmt, eine Ganzzahl als Basis und eine andere Ganzzahl als Exponent. Die Funktion gibt den Wert der auf die Macht des Exponent erhöhten Basis zurück. Verwenden Sie nur Exponenten, die größer oder gleich 0 sind (positive Zahlen)
-PowerCalculator (10,2) sollte 100 -PowerCalculator (10, -2) zurückgeben.
Schreiben Sie eine Funktion, die eine Zeichenfolge umkehrt. Nehmen Sie eine Zeichenfolge als Eingabe, kehren Sie die Zeichenfolge um und geben Sie die neue Zeichenfolge zurück.
Berechnen Sie die n -te dreieckige Zahl. Eine dreieckige Zahl zählt die Objekte, die ein gleichseitiges Dreieck bilden können. Die n -te dreieckige Zahl ist die Anzahl der Punkte, die ein Dreieck mit N -Punkten auf einer Seite zusammenfassen, und entspricht der Summe der n natürlichen Zahlen von 1 bis n. Dies ist die Dreieckszahlsequenz: 1, 3, 6, 10, 15, 21, 28, 36, 45.
Schreiben Sie eine rekursive Funktion, die eine Zeichenfolge basierend auf einem Separator aufteilt (ähnlich wie bei String.Prototype.split). Verwenden Sie keine Split -Funktion von JS Array, um dieses Problem zu lösen.
Schreiben Sie eine rekursive Funktion, die die Fibonacci -Sequenz einer bestimmten Zahl druckt. Die Fibonacci -Sequenz ist eine Reihe von Zahlen, bei denen jede Zahl die Summe der 2 vorangegangenen Zahlen ist. Beispielsweise beträgt die 7. Fibonacci -Zahl in einer Fibonacci -Sequenz 13. Die Sequenz sieht wie folgt aus: 1, 1, 2, 3, 5, 8, 13.
Schreiben Sie eine rekursive Funktion, die das Fakultät einer bestimmten Zahl findet. Das Fakultät einer Zahl ist durch Multiplizieren dieser Zahl mit jeder Zahl zwischen sich und 1. Das Fakultät von 5 beträgt 5 * 4 * 3 * 2 * 1 = 120.
Sie haben ein Labyrinth betreten und müssen sich herausfinden. Es gibt mehr als eine mögliche Pfade durch das Labyrinth zum einzelnen Ausgangspunkt. Schreiben Sie eine rekursive Funktion, die Ihnen hilft, einen möglichen Weg durch das Labyrinth zu finden.
Das Labyrinth wird als N*m Matrix dargestellt. Der Ausgangspunkt ist die obere linke Ecke und der Ausgang wird durch e angezeigt. Verwenden Sie zum Einfachheit halber die untere rechte Ecke des Labyrinths als Ausgang. Sie können nicht außerhalb der Grenzen des Labyrinths gehen. Das Labyrinth hat Passagen, die blockiert sind und Sie können sie nicht durchgehen. Diese blockierten Passagen werden durch *angezeigt. Das Durchlaufen einer blockierten Zelle sowie durch eine durch eine Zelle, die Sie bereits zuvor bestanden haben, sind verboten.
Für das große Labyrinth im Bohrer kann ein möglicher Ausgangsweg rrddllddrrrrrrrr
Verwenden Sie das obige große Labyrinth und ändern Sie Ihre Lösung, damit alle möglichen Ausgangswege durch das Labyrinth findet. Um alle möglichen Ausstiegswege durch das Labyrinth zu finden, denken Sie darüber nach, wie viele Orte Sie in jeder Runde bewegen können. Möglicherweise nach oben, unten, links oder rechts?
Beachten Sie, dass dieses Labyrinth 3 Ausgabeste hat. Ihre rekursive Funktion sollte alle drei Pfade mit den richtigen Anweisungen drucken. In Anbetracht des Labyrinths oben sollte das Programm beispielsweise Folgendes ausgeben:
Ein Anagramm ist ein Wort oder eine Phrase, die die Buchstaben eines bestimmten ("Subjekts") Wortes oder Phrase in einer anderen, neu angeordneten Reihenfolge verwendet. Schreiben Sie eine Funktion, die eine Anagram -Liste erstellt, in der alle Umlagerungen eines bestimmten Wortes aufgeführt sind. Wenn der Benutzer beispielsweise "Ost" typisiert, sollte das Programm alle 24 Permutationen auflisten, einschließlich "Eats", "etas", "Teas" und Nicht-Wörtern wie "TSAE".
Hinweis: Für Ihren Algorithmus möchten Sie vielleicht über ein Präfix nachdenken und diese verwenden, um die neuen Wörter zu erstellen. Verwenden Sie beispielsweise "East" "E" als Präfix und stellen Sie es vor alle 6 Permutationen von "AST" - "AST", "ATS", "SAT", "STA", "TAS" und "TSA". Dies gibt Ihnen die Worte "Ost", "Eats", "Esat", "Esta", "etas" und "ETSA". Fahren Sie so fort, bis Sie alle Anagramme für "East" finden. Dann können Sie "A" als Präfix verwenden und die verbleibenden Wörter "EST" durchdringen. Für "East" sollten es 24 Wörter geben.
Schreiben Sie eine rekursive Funktion, die das Organisationsdiagrammobjekt in den Bohrer druckt. Ihre Ausgabe sollte wie im Bohrer mit ordnungsgemäßem Eindrückung gezeigt werden, um die Hierarchie anzuzeigen.
Schreiben Sie eine rekursive Funktion, die die binäre Darstellung einer bestimmten Zahl ausdruckt. Zum Beispiel sollte das Programm 3 als Eingang und Druck 11 als Ausgabe oder 25 als Eingang und Druck 11001 als Ausgang dauern. Beachten Sie, dass die binäre Darstellung von 0 0 sein sollte.