C/C++ 程式檢查使用陣列中的所有數字是否可以組成一個可被 3 整除的數?


在本節中,如果給定一個有 n 個數字的陣列,我們需要檢查是否使用這些數字的所有元素生成一個數字,該數字可以被 3 整除。如果陣列元素為 {15, 24, 23, 13},那麼我們可以生成像 15242313 這樣的整數。它可以被 3 整除。

演算法

checkDivThree(arr)

Begin
   rem := 0
   for each element e in arr, do
      rem := (rem + e) mod 3
   done
   if rem is 0, then
      return true
   end if
   return false
End

示例

#include<iostream>
#define MAX 4
using namespace std;
bool checkDivThree(int arr[], int n){
   int rem = 0;
   for(int i = 0; i<n; i++){
      rem = (rem + arr[i]) % 3;
   }
   if(rem == 0){
      return true;
   }
   return false;
}
main() {
   int arr[] = {15, 24, 23, 13};
   int n = sizeof(arr)/sizeof(arr[0]);
   if(checkDivThree(arr, n)){
      cout << "Divisible";
   }else{
      cout << "Not Divisible";
   }
}

輸出

Divisible

更新於:2019-07-31

113 瀏覽

啟動您的 事業

完成學習,獲得認證

入門
廣告
© . All rights reserved.