9417

#include <stdio.h>

// 두 수의 최대 공약수 구하기
int get_GCD(int x, int y){
    int min = x<y?x:y;

    int gcd = 0;
    for(int k = 1; k <= min; k++){
        if((x % k == 0)&&(y % k == 0)){
            gcd = k;
        }
    }

    return gcd;
}



int main(void){
    // 테스트 케이스 입력받기
    int test_case = 0;  
    scanf("%d", &test_case);

    for(int i = 0; i < test_case; i++){
        int arr_m[100] = {0};
        int j = 0, max = 0;
        // \n 이 나올 때 까지 입력받기
        do {
            int num = 0;
            scanf("%d", &num);
            arr_m[j++] = num;

        }
        while(getchar() != '\n');

        // 모든 두 수의 쌍 중에서 가장 큰 최대공약수 찾기
        int g_max = 0;
        for(int x = 0; x < j; x++){
            for(int y = x+1; y < j; y++){
                int gcd = get_GCD(arr_m[x], arr_m[y]);
                if(gcd > g_max){
                   g_max = gcd; 
                }
            }
        }

        // 출력
        printf("%d\n", g_max);

    }
    return 0;
}

+ Recent posts