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 浏览

启动您的 事业

完成学习,获得认证

入门
广告