हमें किसी भी आकार की एक सरणी दी गई है जिसमें पूर्णांक तत्व हैं और कार्य सरणी में जोड़ों की संख्या की गणना करना है जैसे कि एक जोड़ी का एक तत्व जोड़ी के दूसरे तत्व को विभाजित करता है।
उदाहरण के लिए
इनपुट - int arr[] = {1, 2, 3, 6} आउटपुट - गिनती 4 है
व्याख्या - (1,2), (1,3), (1,6) और (3,6) वे जोड़े हैं जिनमें एक जोड़ी का एक तत्व दूसरे को विभाजित करता है क्योंकि 1 किसी भी संख्या को विभाजित कर सकता है और 3, 6 को विभाजित करता है। इसलिए गिनती 4 है।
इनपुट - int arr[] = {2, 5, 10} आउटपुट - गिनती 2 है
व्याख्या - (2, 10) और (5,10) वे जोड़े हैं जिनमें एक जोड़ी का एक तत्व दूसरे को विभाजित करता है क्योंकि 2, 10 को विभाजित कर सकता है और 5, 10 को विभाजित कर सकता है। इसलिए गिनती 2 है।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
एक सरणी बनाएं, मान लीजिए arr[]
length() फंक्शन का उपयोग करके सरणी की लंबाई की गणना करें जो सरणी में तत्वों के अनुसार एक पूर्णांक मान लौटाएगा।
एक अस्थायी चर लें जो केवल सरणी में मौजूद तत्वों की गिनती को संग्रहीत करेगा।
i को 0 से शुरू करके और i के सरणी के आकार से कम होने तक लूप शुरू करें
लूप के अंदर j को i+1 से शुरू करके और j के आकार से कम होने तक एक और लूप शुरू करें
लूप के अंदर जांचें कि क्या arr[i] % arr[j] = 0 या arr[j] % arr[i] = 0 है तो count को बढ़ाएं
count लौटाएं
परिणाम प्रिंट करें।
उदाहरण
#include <iostream>
using namespace std;
int divisibles(int a[], int size) {
int result = 0;
// सभी जोड़ों के माध्यम से पुनरावृत्ति
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) {
if (a[i] % a[j] == 0 || a[j] % a[i] == 0) {
result++;
}
}
}
return result;
}
int main() {
int a[] = {1, 4, 7, 8, 9};
int size = sizeof(a) / sizeof(a[0]);
cout << "count is " << divisibles(a, size);
return 0;
}
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्नलिखित आउटपुट मिलेगा -
count is 5