使用C++查找数组中一个元素,使得数组中所有元素都能被它整除
假设我们有一个包含一些元素的数组A。我们必须从A中找到一个元素,使得所有元素都能被它整除。例如,如果A是[15, 21, 69, 33, 3, 72, 81],则该元素将是3,因为所有数字都能被3整除。
为了解决这个问题,我们将取A中最小的数字,然后检查所有数字是否都能被这个最小数字整除。如果可以,则返回该数字;否则,返回false。
示例
#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); }
输出
The number is: 3
广告