Skip to content

Instantly share code, notes, and snippets.

@Sawtaytoes
Last active October 28, 2020 01:28
Show Gist options
  • Save Sawtaytoes/4023b6363250293a84ea57dc89d74b1c to your computer and use it in GitHub Desktop.
Save Sawtaytoes/4023b6363250293a84ea57dc89d74b1c to your computer and use it in GitHub Desktop.
Fibonacci
function fib(
numberOfIterations
) {
let numbers = []
let currentNumber = 1
let previousNumber = 0
for (
let currentIteration = 1
;currentIteration <= numberOfIterations
;currentIteration++
) {
numbers.push(currentNumber)
const newPreviousNumber = currentNumber
const newCurrentNumber = (
currentNumber
+ previousNumber
)
previousNumber = newPreviousNumber
currentNumber = newCurrentNumber
}
return numbers
}
function fib(
numberOfIterations,
currentIteration = 1,
currentNumber = 1,
previousNumber = 0,
numbers = []
) {
if (currentIteration === numberOfIterations) {
return numbers.concat(currentNumber)
}
return (
fib(
numberOfIterations,
currentIteration + 1,
currentNumber + previousNumber,
currentNumber,
numbers.concat(currentNumber),
)
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment