C ++中数组乘法的除数计数

我们给了一个数组,比方说,任意给定大小的整数元素的arr [],任务是计算通过将所有数组元素相乘得出的数量的因数。

数组是一种数据结构,可以存储相同类型的元素的固定大小的顺序集合。数组用于存储数据集合,但是将数组视为相同类型的变量集合通常会更有用。

例如

Input − int arr[] = {2, 3}Output − count is 4

说明-数组的乘积是2 * 3是6,因数6是1,2,3,6。所以总共有4个因数6。

Input − int arr[] = {2, 3, 5}Output − count is 8

说明-数组的乘积是2 * 3 * 5是30,因数30是1、2、3、5、6、10、15、30。因此,总共有8个因数30。

以下程序中使用的方法如下

  • 比如说创建一个数组arr []

  • 使用length()函数将根据数组中的元素返回整数值来计算数组的长度。

  • 声明一个临时变量,假设temp将其设置为1

  • i的启动循环为0,并且我小于数组的大小

  • 将temp设置为temp * = arr [i]

  • 调用另一个将返回计数的函数。

  • 取一个临时变量来存储元素的数量。

  • i到1且i小于等于mul的启动循环。

  • 在循环内,检查temp%i = 0,然后将count的值增加1。

  • 返回计数

  • 打印结果。

示例

#include <iostream>
using namespace std;
//计算因子数量的功能
int divisors(int N){
   //用0初始化结果
   int result = 0;
   //每个因素的增量结果
   //给定数字N的
   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;
}

输出结果

如果运行上面的代码,我们将获得以下输出-

count is 16