본문 바로가기

TEST/자료구조와 함께 배우는 알고리즘 입문(C언어)

<5> Q3. 자료구조와 함께 배우는 알고리즘 입문 (C언어)

#include <stdio.h>

int gcd_array(const int a[], int n)
{
    int max = 0, min = 0, num = 0;
    for (int i = 0; i < n; i++)
    {
        if (a[i] == 0)
        {
            return 0;
        }
        else
        {
            if (a[i] > min)
            {
                min = a[i];
            }
        }
    }
    for (; min > 0; min--)
    {
        num = 0;
        for (int i = 0; i < n; i++)
        {
            if (a[i] % min == 0)
                num++;
        }
        if (num == n)
            return min;
    }
    return 0;
}

int main(void)
{
    int a[5] = {}, n = 5;
    for (int i = 0; i < 5; i++)
    {
        printf("Input Number : ");
        scanf("%d", &a[i]);
    }

    printf("최대공약수는 %d입니다", gcd_array(a, 5));
}