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

C++에서 배열의 모든 숫자를 사용하여 3으로 나누어 떨어지는 수를 만들 수 있습니다.


이 문제에서는 배열이 제공됩니다. 우리의 임무는 배열 요소의 모든 자릿수를 사용하여 생성된 숫자가 3으로 나누어 떨어지는지 확인하는 것입니다. 가능하면 “Yes”를 인쇄하십시오. 그렇지 않으면 "아니오"를 인쇄하십시오. .

문제를 이해하기 위해 예를 들어보겠습니다.

입력 - arr ={3, 5, 91, }

출력 − 예

설명 − 숫자 5193은 3의 배수입니다. 따라서 우리의 대답은 YES입니다.

이 문제를 해결하기 위해 3으로 나누어지는지 확인합니다.

3의 배수 - 숫자의 합이 3의 배수이면 3의 배수입니다.

이제 모든 배열 요소의 합을 찾아야 합니다. 이 합계가 3으로 나누어 떨어지면 YES를 인쇄할 수 있습니다. 그렇지 않으면 아니요.

예시

솔루션 구현을 보여주는 프로그램

#include <iostream>
using namespace std;
bool is3DivisibleArray(int arr[]) {
   int n = sizeof(arr) / sizeof(arr[0]);
   int rem = 0;
   for (int i=0; i<n; i++)
      rem = (rem + arr[i]) % 3;
   return (rem == 0);
}
int main(){
   int arr[] = { 23, 64, 87, 12, 9 };
   cout<<"Creating a number from digits of array which is divisible by 3 ";
   is3DivisibleArray(arr)?cout<<"is Possible":cout<<"is not Possible";
   return 0;
}

출력

Creating a number from digits of array which is divisible by 3 is Possible