इस ट्यूटोरियल में, हम नीचे दी गई समस्या को हल करने जा रहे हैं।
पूर्णांकों की एक सरणी को देखते हुए, हमें दो संख्याएँ A और B ज्ञात करनी हैं। सरणी में शेष सभी संख्याएँ A और B के विभाजक हैं।
यदि कोई संख्या A और B दोनों का भाजक है, तो वह सरणी में दो बार प्रदर्शित होगी।
आइए समस्या को हल करने के लिए चरणों को देखें।
-
एरे में अधिकतम संख्या ए और बी की संख्याओं में से एक है। मान लें कि यह ए है।
-
अब, B दूसरी सबसे बड़ी संख्या या वह संख्या होगी जो A का भाजक नहीं है।
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h> using namespace std; void findTheDivisors(int arr[], int n) { sort(arr, arr + n); int A = arr[n - 1], B = -1; for (int i = n - 2; i > -1; i--) { if (A % arr[i] != 0) { B = arr[i]; break; } if (i - 1 >= 0 && arr[i] == arr[i - 1]) { B = arr[i]; break; } } cout << "A = " << A << ", B = " << B << endl; } int main() { int arr[] = { 3, 2, 3, 4, 12, 6, 1, 1, 2, 6 }; findTheDivisors(arr, 10); return 0; }
आउटपुट
यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
A = 12, B = 6
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।