5618

#include <stdio.h>

int main(void){
    // 몇 개의 자연수를 입력할지 입력
    int count;
    scanf("%d", &count);

    // 자연수를 저장할 배열 및 
    // 입력받은 자연수 중 가장 작은 수 저장
    int num_list[count];
    int min = 100000000;
    
    // count개수 만큼 자연수 입력 받기
    for(int i = 0; i < count; i++){
        int num = 0;
        scanf("%d", &num);
        
        // 자연수 중 최솟값 찾기
        if(num < min){
            min = num;
        }

        // 배열에 자연수 저장
        num_list[i] = num;
    }

    // 공약수 찾기 
    /*  1번째 for문 - 최솟값 기준으로 1부터 min까지
        2번째 for문 - 자연수배열에 있는 모든 수와 %연산을 하여
                    0으로 나눠지지 않으면 is_common_divisor 0으로 바꾸기*/
    for(int j = 1; j <= min; j++){
        int is_common_divisor = 1;
        for(int k = 0; k < count; k++){
            if(num_list[k] % j != 0){
                is_common_divisor = 0;
            }
        }

        // 공약수인 j만 출력
        if(is_common_divisor){
            printf("%d\n", j);
        }
    }
    return 0;
}

+ Recent posts