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