Ruby のフィボナッチ数列

Hassan Ejaz 2024年2月15日
Ruby のフィボナッチ数列

Rubyのフィボナッチ数列を例を挙げて紹介します。

Ruby のフィボナッチ数列

フィボナッチ数列の範囲を取得する必要がある場合や、フィボナッチ数列を特定の数まで取得したい場合があります。 Ruby を使用して、任意の数の項のフィボナッチ数列を取得できます。

フィボナッチ数列は、現在の数が前の 2つの数の合計である数列です。 たとえば、10 項までのフィボナッチ数列は、1, 1, 2, 3, 5, 8, 13, 21, 34, 55 です。

最後の数字 552134 の合計であり、一連の他の数字も同様にそれらの前の 2つの数字の合計であることに注意してください。

フィボナッチ数列の最初の 2つの数を定義し、残りの数を 5 回取得しようとする例で、フィボナッチ数列について説明しましょう。

firstNum = 0
secondNum = 2

ループを使用して、次の 5つの数値のフィボナッチ数列を取得します。

firstNum = 0
secondNum = 2
5.times do
    firstNum, secondNum = secondNum, firstNum + secondNum
    puts firstNum
end

出力:

最初の 5つの数字のフィボナッチ数列を取得する最初の例

上記の例は、ループを使用して可能な限り長くフィボナッチ数列を取得できることを示しています。

それでは、特定の数までのフィボナッチ数列を返す関数を Ruby で作成しましょう。 まず、関数を定義します。

関数内で、フィボナッチ数列の最初の 2つのステップを定義します。

次に、ループを使用して、ユーザーが渡す数値のフィボナッチ数列を取得します。 以下に示すように、渡された回数よりも 1 回少ない回数でループを実行します。

def getFib(x)
  firstNum, secondNum = [0, 1]
  (x - 1).times do
    firstNum, secondNum = secondNum, firstNum + secondNum
    puts firstNum
  end

end
getFib(19)

出力:

複雑な最初の 5つの数字のフィボナッチ数列を取得する例

上記の例からわかるように、関数を作成し、その関数内でフィボナッチ数列を定義することで、任意の数のフィボナッチ数列を簡単に取得できます。