[C] 171 Hãy tìm ước chung lớn nhất của tất cả ptử trong mảng nguyên

Tác giả:

  • Trần Hán Huy – tranhanhuy.wordpress.com

Sách:

  • Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang

Đề bài

  • 171 Hãy tìm ước chung lớn nhất của tất cả ptử trong mảng nguyên

Code

int SoNhoNhat(int a[], int n)
{
    int min = a[0];
    for (int i=1; i<n; i++)
        min = (min < a[i])? min: a[i];
    return min;
}
//kiem tra xem uoc so co phai la uoc so chung lon nhat cua mang hay ko?
bool KiemTraUocSochung(int a[], int n, int UocSo)
{
    for (int i=0; i<n; i++)
        if (a[i] % UocSo != 0)
            return false;
    return true;
}
int UocSoMang(int a[], int n)
{
    for (int UocSo = SoNhoNhat(a,n); UocSo >= 1; UocSo--)
        if(KiemTraUocSoChung(a,n,UocSo))
            return UocSo;
    return 1;
}

Leave a comment