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

示例

 線上演示

#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 次瀏覽

開始您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.