const fibonacciRecursive = n => n < 2 ? 1 : fibonacciRecursive(n-1) + fibonacciRecursive(n-2) const fibonacciArray = n => { let arr = [1, 1] for (let i = 0; i < n-1; i++) { arr[i + 2] = arr[i + 1] + arr[i]; } return arr[n] } const fibonacciCycle = n => { let prevNumber = 1; let currentNumber = 1; let nextNumber = 1; for (let i = 0; i < n-1; i++) { nextNumber = prevNumber + currentNumber; prevNumber = currentNumber; currentNumber = nextNumber; } return nextNumber; } const testCases = [1, 1, 2, 3, 5, 8, 13, 21, 34] testCases.forEach((testCase, index) => { console.assert(testCase === fibonacciRecursive(index)) console.assert(testCase === fibonacciArray(index)) console.assert(testCase === fibonacciCycle(index)) })