Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลคูณขององค์ประกอบทั้งหมดในอาร์เรย์ที่หารด้วยจำนวนที่กำหนด K ใน C++


ให้อาร์เรย์ arr[n] ที่มีจำนวนเต็ม 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