[Algorithm]최대공약수 / 최소공배수
최대공약수(GCD) & 최소공배수(LCM)
GCD(최대공약수)
//최대공약수
public static int GCD(int a, int b) {
int big = a > b ? a : b;
int small = a <= b ? a : b;
while (small != 0) {
int tmp = big % small;
big = small;
small = tmp;
}
return big;
}
static int gcd(int a, int b) {
if(a%b == 0)
return b;
return gcd(b, a%b);
}
LCM(최소공배수)
//최소공배수
public static int LCM(int a, int b) {
return a*b/GCD(a, b);
}