在C ++中,数组中所有元素的积可被给定数K整除

给定具有n个整数和另一个整数k的数组arr [n],任务是找到乘积k中所有被arr []整除的元素。

为了解决该问题,我们必须迭代数组的每个元素,并确定它是否可以完全被数字k整除,然后乘积所有元素并将其存储到变量中。就像我们有一个数组arr [] = {1、2、3、4、5、6}并假设k = 2一样,因此数组中可被2整除的数字是2、4、6,它们的乘积将等于48。

因此,让我们看一下示例,我们如何根据输入来获取答案

输入值 

arr[] = {10, 11, 55, 2, 6, 7}
K = 11

输出结果 

605

说明-被11整除的数字是11和55,只有它们的乘积是605

输入值 

arr[] = {9, 8, 7, 6, 3}
K = 3

输出结果 

162

解决问题的方法如下

  • 迭代整个数组,直到数组的最后。

  • 寻找每个可被K整除的整数。

  • 乘积K可除的每个元素。

  • 返回。

  • 打印结果。

算法

Start
Step 1→ declare function to find all the numbers divisible by number K
   int product(int arr[], int size, int k)
      declare int prod = 1
      Loop For int i = 0 and i < size and i++
      IF (arr[i] % k == 0)
         Set prod *= arr[i]
      End
      End
      return prod
Step 2→ In main()   Declare int arr[] = {2, 3, 4, 5, 6 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Set int k = 2
   Call product(arr, size, k)
Stop

示例

#include <iostream>
using namespace std;
//函数以k整除数组中的元素
int product(int arr[], int size, int k){
   int prod = 1;
   for (int i = 0; i < size; i++){
      if (arr[i] % k == 0){
         prod *= arr[i];
      }
   }
   return prod;
}
int main(){
   int arr[] = {2, 3, 4, 5, 6 };
   int size = sizeof(arr) / sizeof(arr[0]);
   int k = 2;
   cout<<"product of elements are : "<<product(arr, size, k);
   return 0;
}

输出结果

如果运行上面的代码,它将生成以下输出-

product of elements are : 48