두 수의 최대공약수(Greatest Common Divisor, GCD)는 두 수가 공통으로 가지고 있는 가장 큰 약수를 의미합니다. 다시 말해, 주어진 두 수 중에서 더 작은 수로도 나누어떨어지는 가장 큰 수를 말합니다. 
최대공약수를 계산하는 방법은 여러 가지가 있습니다. 그 중 가장 일반적인 방법은 "유클리드 호제법"을 사용하는 것입니다. 이 방법은 두 수의 차이가 두 수 중 작은 수로 나누어떨어질 때까지 두 수를 계속 나누어주는 과정을 반복하여 최대공약수를 찾는 방법입니다. 
예를 들어, 30과 45의 최대공약수를 구하는 경우: 
45를 30으로 나누면 나머지가 15가 남습니다. (45 ÷ 30 = 1, 나머지 15) 
이제 30을 15로 나누면 나머지가 0이 됩니다. (30 ÷ 15 = 2, 나머지 0) 
나머지가 0이 되었을 때의 나누는 수, 즉 15가 두 수 30과 45의 최대공약수입니다. 
자바에서는 gcd 메서드를 사용하여 두 수의 최대공약수를 계산할 수 있습니다. 아래는 유클리드 호제법을 사용한 최대공약수 계산 코드 예시입니다: 
아래 코드에서 gcd 함수는 두 수의 최대공약수를 계산하는 역할을 합니다. 입력된 두 수의 최대공약수를 구하여 반환하게 됩니다.
public class GCDExample {
    public static int gcd(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
    public static void main(String[] args) {
        int num1 = 30;
        int num2 = 45;
        int result = gcd(num1, num2);
        System.out.println("최대공약수: " + result);  // 출력: 최대공약수: 15
    }
}'ALGORITHM > 이론' 카테고리의 다른 글
| StringBuilder란 (0) | 2023.08.23 | 
|---|---|
| 우선순위 큐 (Priority Queue) (0) | 2022.10.09 | 
| JAVA 2차원 시계방향으로 90도 돌리기 (0) | 2022.04.07 | 
| [Java] 2차원 배열 정렬 (0) | 2021.06.30 | 
| Bubble Sort. 버블정렬 (0) | 2021.01.05 |