문제
최대 공약수 구하기
해결 방법1
- m >= n인 두 양의 정수 m과 n에 대해서 m이 n의 배수면 gcd(m,n)=n 이고
- 그렇지 않으면 gcd(m, n) = gcd(n, m%n)이다.
CODE1
function gcd1(m, n) {
if (m < n) {
var temp = m
m = n
n = temp
}
if (m % n == 0) {
return n
} else {
return gcd1(n, m % n)
}
}
console.log(gcd1(2, 4))
해결 방법2
- gcd(p, q) = p if q=0
- gcd(p, q) = gcd otherwise
CODE2
//간소화
function gcd2(p, q) {
if (q === 0) {
return p
} else {
debugger
return gcd2(q, p % q)
}
}
console.log(gcd2(2, 4))