使用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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.