Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm một phần tử mảng sao cho tất cả các phần tử đều chia hết cho nó bằng cách sử dụng c ++

Hãy xem xét chúng ta có một mảng A với vài phần tử. Chúng ta phải tìm một phần tử từ A sao cho tất cả các phần tử có thể chia hết cho nó. Giả sử chữ A giống như [15, 21, 69, 33, 3, 72, 81], thì phần tử sẽ là 3, vì tất cả các số đều có thể chia hết cho 3.

Để giải quyết vấn đề này, chúng ta sẽ lấy số nhỏ nhất trong A, sau đó kiểm tra xem tất cả các số có thể chia cho số nhỏ nhất hay không, nếu có thì trả về số đó, ngược lại thì trả về false.

Ví dụ

#include<iostream>
#include<algorithm>
using namespace std;
int getNumber(int a[], int n) {
   int minNumber = *min_element(a, a+n);
   for (int i = 1; i < n; i++)
      if (a[i] % minNumber)
      return -1;
   return minNumber;
}
int main() {
   int a[] = { 15, 21, 69, 33, 3, 72, 81 };
   int n = sizeof(a) / sizeof(int);
   cout << "The number is: "<< getNumber(a, n);
}

Đầu ra

The number is: 3