알고리즘 공부를 하다가 '유클리드 호제법' 이란게 나와서

찾아서 공부하다보니 참 유용한 녀석이었습니다.


유클리드 호제법은 두 수의 최대 공약수를 아주 쉽게 구할 수 있는 법인데요.

자세한 설명은 생략하고 혼자서 짰던 JAVA 코딩을 써보겠습니다.


import java.util.Scanner;

public class EuclideanAlgorithm {
    
    public static void main(String args[])
    {
        
        Scanner sc = new Scanner(System.in);
        
        int one,two;//입력받을 수
        
        int stOne=0; int stTwo=0; //마지막에 출력하기 위해 값을 저장할 변수
        

        System.out.print("첫번째 수를 입력하세요:");
        one = sc.nextInt();
        System.out.println("");
        
        System.out.print("두번째 수를 입력하세요:");
        two = sc.nextInt();
        System.out.println("");
        
        stOne = one;
        stTwo = two;
        
        //유클리드 호제법.
        do
        {
            if(one>=two)
                one = one-two;
            
            else
                two = two-one;
    
        }while(one>0 && two>0);
        
        
        if(one == 0)
            System.out.println(stOne+","+stTwo+" 의 최대공약수 : "+two);
        else
            System.out.println(stOne+","+stTwo+" 의 최대공약수 : "+one);

    }

}


매우 간단하죠? 너무 간단해서 분명 오류가 있을듯 싶지만 귀찮은 관계로 몇번 테스트 후 포스팅~~

뿅.


+ Recent posts