[JS] 최대공약수 구하기

JongHoon Son·2022년 6월 30일
1

JS

목록 보기
2/9
post-thumbnail

a와 b의 최대공약수 구하기

function getGCD(a, b) {

  // b가 0이 되면 종료 (b는 r을 갖게되므로, a%b가 0이 나올 때까지 반복)
  while (b > 0) {

    // a와 b를 나눈 나머지 값을 r에 저장
    let r = a % b;

    // a에 b저장
    a = b;

    // b는 a%b의 나머지인 r 저장
    b = r;
  }

  // b가 0이 되어서 반복이 종료되면, a 리턴
  return a;
}
예시1) a가 더 큰 수일 경우 (a=10, b=6)

// r = 10 % 6 = 4
// a = 6
// b = 4

// r = 6 % 4 = 2
// a = 4
// b = 2

// r = 4 % 2 = 0
// a = 2
// b = 0
// => a 리턴
예시2) b가 더 큰 수일 경우 (a=6, b=10)

// r = 6 % 10 = 6
// a = 10
// b = 6
=> a와 b의 위치가 바뀜

// r = 10 % 6 = 4
// a = 6
// b = 4

// r = 6 % 4 = 2
// a = 4
// b = 2

// r = 4 % 2 = 0
// a = 2
// b = 0
// => a 리턴
profile
FE 공부

0개의 댓글