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

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 trong C ++


Trong bài toán này, chúng ta được cung cấp một mảng. Nhiệm vụ của chúng ta là kiểm tra xem một số được tạo ra bằng cách sử dụng tất cả các chữ số của các phần tử của mảng có chia hết cho 3. Nếu có thể thì in ra “Yes” nếu không thì in “No” .

Hãy lấy một ví dụ để hiểu vấn đề

Đầu vào - arr ={3, 5, 91,}

Đầu ra - CÓ

Giải thích - Số 5193 chia hết cho 3. Vì vậy, câu trả lời của chúng ta là CÓ.

Để giải quyết vấn đề này, chúng tôi sẽ kiểm tra tính chia hết của nó cho 3.

Chia hết cho 3 - một số chia hết cho 3 nếu tổng các chữ số của nó chia hết cho 3.

Bây giờ, chúng ta sẽ phải tìm tổng của tất cả các phần tử của mảng. Nếu tổng này chia hết cho 3 thì có thể in ra CÓ. nếu không thì không.

Ví dụ

Chương trình cho thấy việc triển khai giải pháp của chúng tôi

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

Đầu ra

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