코테연습
[JS] 최대공약수(Greatest Common Divisor, GCD) ,최소공배수(Least Common Multiple/Lowest Common Multiple, LCM)
나의 오류는 누군가 겪었던 오류
2023. 3. 22. 23:30
최대공약수(GCD)란
0 이 아닌 두 개 이상의 정수의 공통되는 약수중에서 가장 큰 수입니다.
최대공약수를 구하는 방법은 2부터 두수의 최솟값까지 모든 정수로 나누어보는 방법입니다.
let getGCD = (a, b) => {
let gcd = 1;
for(let i=2; i<=Math.min(a, b); i++){
//Math.min() 함수는 주어진 숫자들 중 가장 작은 값을 반환합니다.
if(a % i == 0 && b % i == 0){
gcd = i;
}
}
return gcd;
}
최소공배수(LCM)란
두 개 이상의 자연수의 공통인배수 공배수 중 가장 작은 수입니다.
lcm을 1부터 시작하여 점차 lcm++하면서 각각의 두 수를 lcm으로 나누었을 때 나머지 값이 0인지를 비교합니다.
let getLCM = (a, b) =>{
let lcm = 1;
while(true){
if((lcm % a == 0) && (lcm % b == 0)){
break;
}
lcm++;
}
return lcm;
}