최소 공배수
import java.util.*;
public class Main {
private static int gcd(int a, int b) {
if (a == 0) return b;
return gcd(b%a, a);
}
private static void lcm(int a, int b) {
System.out.println(a / b);
}
public static void main(String[] args) {
// 여기에 코드를 작성해주세요.
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
lcm(n*m, gcd(n,m));
}
}
최대 공약수
import java.util.*;
public class Main {
private static int gcd(int a, int b) { // 재귀를 이용한 코드
if (a == 0) return b;
return gcd(b%a, a);
}
private static int gcd_for(int n, int m) { // 반복문을 이용한 코드
int gcd_num = 0;
for(int i=1; i<=Math.min(n,m); i++) {
if (n%i==0 && m%i==0)
gcd_num = i;
}
return gcd_num;
}
public static void main(String[] args) {
// 여기에 코드를 작성해주세요.
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
// 1. 재귀 코드
//System.out.println(gcd(n,m));
// 2. 반복문 코드
System.out.println(gcd_for(n,m));
}
}