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
广告