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

Đếm ước số của tích mảng trong C++

Cho mảng arr[]. Tính tích tất cả phần tử, sau đó đếm số ước số của tích đó.

Ví dụ

arr = {2, 3} → tích = 6 → ước: 1,2,3,6 → 4 ước

arr = {2, 3, 5} → tích = 30 → ước: 1,2,3,5,6,10,15,30 → 8 ước

Phương pháp

  • Tính tích = tích các phần tử mảng.
  • Đếm ước: duyệt i từ 1 đến tích, nếu tích % i == 0 → đếm++.

Ví dụ minh họa (C++)

#include <iostream>
using namespace std;

int divisors(int N) {
    int result = 0;
    for (int i = 1; i <= N; ++i) {
        if (N % i == 0) result++;
    }
    return result;
}

int countmultiples(int arr_1[], int size) {
    int temp = 1;
    for (int i = 0; i < size; ++i) temp *= arr_1[i];
    return divisors(temp);
}

int main() {
    int arr_1[] = { 5, 10, 15 };
    int size = sizeof(arr_1) / sizeof(arr_1[0]);
    cout << "count is " << countmultiples(arr_1, size);
    return 0;
}

Đầu ra

count is 16