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

Đếm các phần tử mảng chia hết tổng các phần tử còn lại trong C++

Chúng ta được cung cấp một mảng số nguyên arr[] và nhiệm vụ là tính số lượng các phần tử mảng mà chia hết cho tổng của tất cả các phần tử khác.

Ví dụ

Input - int arr_1[] = {9, 6, 3} Output - count is 3

Giải thích - Tổng các phần tử 9+6 = 15 chia hết cho 3, tổng 9+3 = 12 chia hết cho 6 và 6+3 = 9 chia hết cho 9. Do đó, count là 3.

Input - arr[] = {3, 10, 4, 6, 7} Output - count is 3

Giải thích - Tổng 10+4+6+7 = 27 chia hết cho 3, tổng 3+4+6+7 = 20 chia hết cho 10 và 3+10+4+7 = 24 chia hết cho 6. Do đó, count là 3.

Phương pháp tiếp cận

  • Tạo mảng arr[]
  • Tính độ dài mảng bằng hàm sizeof()
  • Khởi tạo biến đếm count = 0
  • Duyệt qua từng phần tử arr[i] với i từ 0 đến size-1
  • Tính tổng các phần tử còn lại (trừ arr[i])
  • Nếu tổng % arr[i] == 0 thì tăng count
  • Trả về count

Ví dụ code C++

#include <iostream>
using namespace std;

int countelements(int arr_1[], int size) {
    int result = 0;
    for (int i = 0; i < size; i++) {
        int sum = 0;
        for (int j = 0; j < size; j++) {
            if (i == j) continue;
            sum += arr_1[j];
        }
        if (sum % arr_1[i] == 0) {
            result++;
        }
    }
    return result;
}

int main() {
    int arr_1[] = {1, 2, 3, 4, 5, 6};
    int size = sizeof(arr_1) / sizeof(arr_1[0]);
    cout << "count is " << countelements(arr_1, size);
    return 0;
}

Kết quả

count is 2