generated from nhcarrigan/template
@@ -8,11 +8,11 @@ import { describe, it, expect } from "vitest";
|
|||||||
import { lcm } from "./main.js";
|
import { lcm } from "./main.js";
|
||||||
|
|
||||||
describe("lcm", () => {
|
describe("lcm", () => {
|
||||||
it("should return the correct LCM", () => {
|
it("should return the correct LCM", () => {
|
||||||
expect(lcm(4, 6)).toBe(12);
|
expect(lcm(4, 6)).toBe(12);
|
||||||
expect(lcm(9, 6)).toBe(18);
|
expect(lcm(9, 6)).toBe(18);
|
||||||
expect(lcm(10, 100)).toBe(100);
|
expect(lcm(10, 100)).toBe(100);
|
||||||
expect(lcm(13, 17)).toBe(221);
|
expect(lcm(13, 17)).toBe(221);
|
||||||
expect(lcm(45, 70)).toBe(630);
|
expect(lcm(45, 70)).toBe(630);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const gcd = (firstNumber: number, secondNumber: number): number => {
|
const gcd = (firstNumber: number, secondNumber: number): number => {
|
||||||
return secondNumber === 0 ? firstNumber : gcd(secondNumber, firstNumber % secondNumber);
|
return secondNumber === 0
|
||||||
|
? firstNumber
|
||||||
|
: gcd(secondNumber, firstNumber % secondNumber);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,5 +18,7 @@ const gcd = (firstNumber: number, secondNumber: number): number => {
|
|||||||
* @see https://www.freecodecamp.org/learn/daily-coding-challenge/2025-11-21
|
* @see https://www.freecodecamp.org/learn/daily-coding-challenge/2025-11-21
|
||||||
*/
|
*/
|
||||||
export const lcm = (firstNumber: number, secondNumber: number): number => {
|
export const lcm = (firstNumber: number, secondNumber: number): number => {
|
||||||
return (firstNumber * secondNumber) / gcd(firstNumber, secondNumber);
|
const product = firstNumber * secondNumber;
|
||||||
}
|
const gcdValue = gcd(firstNumber, secondNumber);
|
||||||
|
return product / gcdValue;
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user