使用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

更新于:2019年10月29日

341 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告