Skip to content

Instantly share code, notes, and snippets.

@ufocoder
Last active January 21, 2019 17:36
Show Gist options
  • Save ufocoder/910b5ffb7212ed5d1a1611a4ff79b34e to your computer and use it in GitHub Desktop.
Save ufocoder/910b5ffb7212ed5d1a1611a4ff79b34e to your computer and use it in GitHub Desktop.

Revisions

  1. ufocoder revised this gist Jan 20, 2019. 1 changed file with 0 additions and 5 deletions.
    5 changes: 0 additions & 5 deletions fibo.js
    Original file line number Diff line number Diff line change
    @@ -4,26 +4,21 @@ const fibonacciRecursive = n => 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;
    }

  2. ufocoder created this gist Jan 20, 2019.
    36 changes: 36 additions & 0 deletions fibo.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    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))
    })