diff --git a/snippets_archive/fibonacciUntilNum.md b/snippets_archive/fibonacciUntilNum.md deleted file mode 100644 index f4f04ef90..000000000 --- a/snippets_archive/fibonacciUntilNum.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: fibonacciUntilNum -tags: math,intermediate ---- - -Generates an array, containing the Fibonacci sequence, up until the nth term. - -Create an empty array of the specific length, initializing the first two values (`0` and `1`). -Use `Array.prototype.reduce()` to add values into the array, using the sum of the last two values, except for the first two. -Uses a mathematical formula to calculate the length of the array required. - -```js -const fibonacciUntilNum = num => { - let n = Math.ceil(Math.log(num * Math.sqrt(5) + 1 / 2) / Math.log((Math.sqrt(5) + 1) / 2)); - return Array.from({ length: n }).reduce( - (acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i), - [] - ); -}; -``` - -```js -fibonacciUntilNum(10); // [ 0, 1, 1, 2, 3, 5, 8 ] -``` \ No newline at end of file diff --git a/test/fibonacciUntilNum.test.js b/test/fibonacciUntilNum.test.js deleted file mode 100644 index 53f0b2fd0..000000000 --- a/test/fibonacciUntilNum.test.js +++ /dev/null @@ -1,8 +0,0 @@ -const {fibonacciUntilNum} = require('./_30s.js'); - -test('fibonacciUntilNum is a Function', () => { - expect(fibonacciUntilNum).toBeInstanceOf(Function); -}); -test('Returns the correct sequence', () => { - expect(fibonacciUntilNum(10)).toEqual([0, 1, 1, 2, 3, 5, 8]); -});