C++中计算数组中所有可被给定数字K整除的元素的乘积


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

为了解决这个问题,我们必须迭代数组的每个元素,并找出它是否完全可被数字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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例

 在线演示

#include <iostream>
using namespace std;
//function to find elements in an array divisible by 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

更新于: 2020年8月13日

379 次浏览

开始您的职业生涯

完成课程后获得认证

开始学习
广告