feat: today's fcc challenge
Node.js CI / Lint and Test (push) Failing after 31s

This commit is contained in:
2025-11-21 12:27:32 -08:00
parent 12a3ee7c21
commit 1ea65129b6
2 changed files with 38 additions and 0 deletions
@@ -0,0 +1,18 @@
/**
* @copyright NHCarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { describe, it, expect } from "vitest";
import { lcm } from "./main.js";
describe("lcm", () => {
it("should return the correct LCM", () => {
expect(lcm(4, 6)).toBe(12);
expect(lcm(9, 6)).toBe(18);
expect(lcm(10, 100)).toBe(100);
expect(lcm(13, 17)).toBe(221);
expect(lcm(45, 70)).toBe(630);
});
});
+20
View File
@@ -0,0 +1,20 @@
/**
* @copyright NHCarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
const gcd = (firstNumber: number, secondNumber: number): number => {
return secondNumber === 0 ? firstNumber : gcd(secondNumber, firstNumber % secondNumber);
};
/**
* Given two integers, return the least common multiple (LCM) of the two numbers.
* @param firstNumber - The first integer.
* @param secondNumber - The second integer.
* @returns The least common multiple (LCM) of the two numbers.
* @see https://www.freecodecamp.org/learn/daily-coding-challenge/2025-11-21
*/
export const lcm = (firstNumber: number, secondNumber: number): number => {
return (firstNumber * secondNumber) / gcd(firstNumber, secondNumber);
}