Fibonacci-Folge in Rubin
Wir werden die Fibonacci-Folge in Ruby mit Beispielen vorstellen.
Fibonacci-Folge in Rubin
Möglicherweise müssen wir eine Reihe von Fibonacci-Folgen erhalten, oder wir möchten die Fibonacci-Folge auf eine bestimmte Zahl bringen. Wir können Ruby verwenden, um die Fibonacci-Folge einer beliebigen Anzahl von Termen zu erhalten.
Die Fibonacci-Folge ist eine Folge von Zahlen, bei der die aktuelle Zahl die Summe der beiden vorherigen Zahlen ist. Zum Beispiel lautet die Fibonacci-Folge bis zu 10
Gliedern: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
.
Beachten Sie, dass die letzte Zahl, 55
, die Summe von 21
und 34
ist und die anderen Zahlen in der Folge in ähnlicher Weise die Summe der beiden Zahlen vor ihnen sind.
Lassen Sie uns die Fibonacci-Folge anhand eines Beispiels besprechen, in dem wir die ersten beiden Zahlen der Fibonacci-Folge definieren und versuchen, die restlichen Zahlen fünfmal zu erhalten.
firstNum = 0
secondNum = 2
Wir erhalten die Fibonacci-Folge der nächsten 5 Zahlen mit einer Schleife.
firstNum = 0
secondNum = 2
5.times do
firstNum, secondNum = secondNum, firstNum + secondNum
puts firstNum
end
Ausgang:
Das obige Beispiel zeigt, dass wir mit der Schleife die Fibonacci-Folgen so lange wie möglich erhalten können.
Lassen Sie uns nun eine Funktion in Ruby erstellen, die uns die Fibonacci-Folge bis zu einer bestimmten Zahl liefert. Zunächst definieren wir die Funktion.
Innerhalb unserer Funktion definieren wir die ersten beiden Schritte der Fibonacci-Folge.
Jetzt verwenden wir die Schleife, um die Fibonacci-Folge einer Zahl zu erhalten, die ein Benutzer passieren wird. Wie unten gezeigt, werden wir die Schleife einmal weniger ausführen als die übergebene Zahl.
def getFib(x)
firstNum, secondNum = [0, 1]
(x - 1).times do
firstNum, secondNum = secondNum, firstNum + secondNum
puts firstNum
end
end
getFib(19)
Ausgang:
Wie Sie aus dem obigen Beispiel sehen können, können wir die Fibonacci-Folge einer beliebigen Zahl leicht erhalten, indem wir eine Funktion erstellen und die Fibonacci-Folge innerhalb dieser Funktion definieren.