Computer >> Máy Tính >  >> Lập trình >> lập trình C

C / C ++ Chương trình kiểm tra xem có thể tạo một số chia hết cho 3 bằng cách sử dụng tất cả các chữ số trong một mảng hay không?

Trong phần này, chúng ta sẽ xem nếu một mảng được cho có n số, chúng ta phải kiểm tra xem nếu chúng ta tạo ra một số có sử dụng tất cả các phần tử của các số này thì số đó có chia hết cho 3 hay không. Nếu các phần tử của mảng là {15, 24, 23, 13} thì chúng ta có thể tạo thành số nguyên như 15242313. Nó sẽ chia hết cho 3.

Thuật toán

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

Ví dụ

#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";
   }
}

Đầu ra

Divisible