From ef8b26faa9c076322e2efd236a19417125f4fe4c Mon Sep 17 00:00:00 2001 From: Steve Kinney Date: Sun, 29 Sep 2024 16:53:59 -0600 Subject: [PATCH] Add a fibonacci example --- examples/basic-math/src/fibonacci.js | 14 ++++++++++++++ examples/basic-math/src/fibonacci.test.ts | 7 +++++++ 2 files changed, 21 insertions(+) create mode 100644 examples/basic-math/src/fibonacci.js create mode 100644 examples/basic-math/src/fibonacci.test.ts diff --git a/examples/basic-math/src/fibonacci.js b/examples/basic-math/src/fibonacci.js new file mode 100644 index 0000000..fe46aed --- /dev/null +++ b/examples/basic-math/src/fibonacci.js @@ -0,0 +1,14 @@ +/** + * Generates a Fibonacci sequence of a given length. + * @param {number} n The length of the sequence. + * @returns {number[]} The Fibonacci sequence. + */ +export const generateFibonacci = (n) => { + const sequence = [0, 1]; + + for (let i = 2; i < n; i++) { + sequence[i] = sequence[i - 1] + sequence[i - 2]; + } + + return sequence; +}; diff --git a/examples/basic-math/src/fibonacci.test.ts b/examples/basic-math/src/fibonacci.test.ts new file mode 100644 index 0000000..584feae --- /dev/null +++ b/examples/basic-math/src/fibonacci.test.ts @@ -0,0 +1,7 @@ +import { it, expect } from 'vitest'; +import { generateFibonacci } from './fibonacci'; + +it.skip('should generate fibonacci sequence', () => { + const fibonacci = generateFibonacci(10); + expect(fibonacci).toBe([0, 1, 1, 2, 3, 5, 8, 13, 21, 34]); +});