Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

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