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[] các số nguyên bất kỳ kích thước. Nhiệm vụ: đếm số ước của số được tính bằng nhân tất cả phần tử mảng.

Mảng là cấu trúc dữ liệu lưu trữ tập hợp cố định các phần tử cùng kiểu. Mảng dùng để lưu tập hợp dữ liệu, nhưng thường hữu ích hơn khi coi như tập hợp biến cùng kiểu.

Ví dụ

Đầu vào − int arr[] = {2, 3} Đầu ra − count is 4

Giải thích − tích mảng = 2 * 3 = 6, ước của 6: 1, 2, 3, 6. Tổng 4 ước.

Đầu vào − int arr[] = {2, 3, 5} Đầu ra − count is 8

Giải thích − tích = 2 * 3 * 5 = 30, ước của 30: 1, 2, 3, 5, 6, 10, 15, 30. Tổng 8 ước.

Phương pháp

  • Tạo mảng arr[].
  • Tính độ dài mảng bằng sizeof.
  • Khai báo biến tạm temp = 1.
  • Vòng lặp i từ 0 đến size-1: temp *= arr[i].
  • Gọi hàm đếm ước.
  • Biến đếm count = 0.
  • Vòng lặp i từ 1 đến temp: nếu temp % i == 0 thì count++.
  • Trả về count.
  • In kết quả.

Ví dụ

#include <iostream> using namespace std; // Hàm đếm số ước 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

Nếu chạy mã trên sẽ cho kết quả:

count is 16