Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

math.ts 917B

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * Compute the greatest common divisor using Euclid's algorithm.
  3. *
  4. * @param {number} num1 - First number.
  5. * @param {number} num2 - Second number.
  6. * @returns {number}
  7. */
  8. export function greatestCommonDivisor(num1: number, num2: number) {
  9. let number1: number = num1;
  10. let number2: number = num2;
  11. while (number1 !== number2) {
  12. if (number1 > number2) {
  13. number1 = number1 - number2;
  14. } else {
  15. number2 = number2 - number1;
  16. }
  17. }
  18. return number2;
  19. }
  20. /**
  21. * Calculate least common multiple using gcd.
  22. *
  23. * @param {number} num1 - First number.
  24. * @param {number} num2 - Second number.
  25. * @returns {number}
  26. */
  27. export function leastCommonMultiple(num1: number, num2: number) {
  28. const number1: number = num1;
  29. const number2: number = num2;
  30. const gcd: number = greatestCommonDivisor(number1, number2);
  31. return (number1 * number2) / gcd;
  32. }