generated from nhcarrigan/template
This commit is contained in:
@@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user