이 문제에서는 배열이 제공됩니다. 우리의 임무는 배열 요소의 모든 자릿수를 사용하여 생성된 숫자가 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