एक सरणी 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