- 再帰関数を使用する方法:
function fibonacciRecursive(n) { if (n <= 1) { return n; } return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2); } console.log(fibonacciRecursive(10)); // 55
この方法では、再帰的に関数を呼び出してフィボナッチ数列を生成します。ただし、大きな数になると計算に時間がかかる可能性があります。
- ループを使用する方法:
function fibonacciLoop(n) { let a = 0; let b = 1; let temp; for (let i = 2; i <= n; i++) { temp = a + b; a = b; b = temp; } return b; } console.log(fibonacciLoop(10)); // 55
この方法では、ループを使用してフィボナッチ数列を生成します。再帰関数よりも効率的であり、大きな数でも迅速に計算できます。
- メモ化を使用する方法:
function fibonacciMemoization(n, memo = {}) { if (n in memo) { return memo[n]; } if (n <= 1) { return n; } memo[n] = fibonacciMemoization(n - 1, memo) + fibonacciMemoization(n - 2, memo); return memo[n]; } console.log(fibonacciMemoization(10)); // 55
この方法では、計算済みの値をメモ化して再利用します。これにより、同じ数に対する計算を一度だけ行うため、再帰関数よりも効率的になります。
これらの方法を使用して、JavaScriptでフィボナッチ数列を生成することができます。適切な方法を選択することで、パフォーマンスを最適化しましょう。