1. 두 수를 입력받는다.
  2. 두 수중 큰수와 작은수를 구분한다.
int t1=a,t2=b; //최소공배수를 구하기 위해 입력받은 값 저장
if(val1<val2){           //2번째 입력수가 클 경우 큰수를 val1으로 변경
	a = t2;
    b = t1;
}
  1. 두 수를 나눈 나머지가 0일때 까지 큰수와 작은수를 나눈다.
while(r>0){
	r = a % b;
    a = b;
    b = r;
}
  1. 나머지가 0이 되는 순간 큰수가 최대공약수이다.
  2. 처음 입력받은 두수의 곱을 최대공약수로 나누면 최소공배수가된다.
LCM = t1* t2/a;

다음은 전체 결과:

int t1=a,t2=b;   //a, b의 정보를 담아놓기 위한 임시 변수
if(a<b){            //큰 수를 a, 작은 수를 b로 둠
	a = t2;
    b = t1;
}
while(r>0){       // r이 0이 될 때까지 '큰 수 a를 작은 수 b로 계속 나누기/ a, b교환 /나머지를 b로'를 반복한다.
	r = a % b;
    a = b;
    b = r;
}
	LCM = t1* t2/a;                             //나머지가 0이 될 때까지 계산한 결과 a는 GCD이며, 원래 숫자인 a, b에 GCD를 곱하면 LCM가 된다.
    System.out.println("GCD: "+ a);
    System.out.println("LCM: "+ LCM);