Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra có thể tạo số chia hết cho 3 từ tất cả chữ số mảng trong C++


Trong bài toán này, cho một mảng. Nhiệm vụ kiểm tra xem số tạo ra từ tất cả chữ số của các phần tử mảng có chia hết cho 3 không. Nếu có in "Yes", không thì "No".

Ví dụ minh họa

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

Kết quả - YES

Giải thích - Số 5193 chia hết cho 3. Vì vậy trả lời YES.

Để giải bài toán, kiểm tra tính chia hết cho 3.

Quy tắc chia hết cho 3 - Số chia hết cho 3 nếu tổng các chữ số của nó chia hết cho 3.

Tính tổng tất cả phần tử mảng. Nếu tổng chia hết cho 3, in YES, ngược lại NO.

Chương trình minh họa

#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 << "Tạo số từ chữ số mảng chia hết cho 3 "; 
    is3DivisibleArray(arr) ? cout << "có thể" : cout << "không thể"; 
    return 0; 
}

Kết quả

Tạo số từ chữ số mảng chia hết cho 3 có thể