IT 개발노트

for문 예제3 (최소 공배수, 최대 공약수) 본문

알고리즘/JAVA

for문 예제3 (최소 공배수, 최대 공약수)

limsungju 2019. 2. 6. 23:29

문제 : 두수의 최소 공배수와 최대 공약수를 구하는 프로그램을 작성하라.
        최소공배수 = 공배수 중에서 가장 작은 정수
        최대공약수 = 공약수 중에서 가장 큰 수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package sungju.Java.Test2;
 
import java.util.Scanner;
 
public class Test2 {
    public static void main(String[] args){
        
        int num1 = 0;
        int num2 = 0;
        int GCD=0;
        int LCM = 0;
        Scanner sc1 = new Scanner(System.in);
        Scanner sc2 = new Scanner(System.in);
        System.out.print("첫번째 수 입력 :");
        num1 = sc1.nextInt();
        System.out.print("두번째 수 입력 :");
        num2 = sc2.nextInt();
        int min=num1>num2 ?num2 :num1;
        for(int i=min; i>=1; i--) {
            if(num1%i==0 && num2%i==0) {
                GCD=i;
                break;
            }
        }
        System.out.println("최대 공약수 : " + GCD);
        LCM=num1*num2/GCD;
        System.out.println("최소 공배수 : " + LCM);
    }
}