12345678910111213141516171819202122232425262728293031323334353637 |
- /**
- * Compute the greatest common divisor using Euclid's algorithm.
- *
- * @param {number} num1 - First number.
- * @param {number} num2 - Second number.
- * @returns {number}
- */
- export function greatestCommonDivisor(num1: number, num2: number) {
- let number1: number = num1;
- let number2: number = num2;
-
- while (number1 !== number2) {
- if (number1 > number2) {
- number1 = number1 - number2;
- } else {
- number2 = number2 - number1;
- }
- }
-
- return number2;
- }
-
- /**
- * Calculate least common multiple using gcd.
- *
- * @param {number} num1 - First number.
- * @param {number} num2 - Second number.
- * @returns {number}
- */
- export function leastCommonMultiple(num1: number, num2: number) {
- const number1: number = num1;
- const number2: number = num2;
-
- const gcd: number = greatestCommonDivisor(number1, number2);
-
- return (number1 * number2) / gcd;
- }
|