최대공약수와 최소공배수

2023. 12. 25. 20:28알고리즘

문제 설명

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.

 

 

입출력 예

nmreturn

3 12 [3, 12]
2 5 [1, 10]

 

function solution(n, m) {
  let l =   n * m 
    //최대공약수 G 최소공배수 L = G a b
    //A B = G l
  let r
  let g
  let result = []
  //유클리드 호제법 
  while (n != 0) {
    r = m % n
    m = n
    n = r
  }
     g = m
return [g , l/g]

    

유클리드 호제법 이란 걸 쓰면 간단하게 해결가능

'알고리즘' 카테고리의 다른 글

순서쌍 갯수  (0) 2024.05.23
3진법 뒤집기  (0) 2023.12.27
부족한 금액 관리하기  (0) 2023.12.17
문자열 내림차순으로 배치하기  (0) 2023.12.15
약수의 개수와 덧  (0) 2023.12.13