최대 공약수, 최소 공배수, 소수 판별

2024. 3. 18. 16:17알고리즘

알고리즘 해결을 위한 기본 정수론 코드이다. 여기서 시간 뺏기지말고 외우고 있자.

// 최대 공약수
function gcd(a, b) {
  if (a === 0) return b;
  return gcd(b % a, a);
}

// 최소 공배수
function lcm(a, b) {
  return (a * b) / gcd(a, b);
}

// 소수 판별
function solve(n) {
  if (n <= 1) return 0;
  if (n === 2) return 1;
  if (n % 2 === 0) return 0;
  for (let i = 3; i * i <= n; i++) if (n % i === 0) return 0;
  return 1;
}