समस्या कथन
दो पूर्णांक p और q को देखते हुए, कार्य न्यूनतम संभव संख्या x को इस प्रकार ज्ञात करना है कि q% x =0 और x% p =0। यदि किसी संख्या के लिए शर्तें सही नहीं हैं, तो -1 प्रिंट करें।
उदाहरण
If p = 3 and q = 66 then answer is 3 as: 66 % 3 = 0 3 % 3 = 0
एल्गोरिदम
- यदि कोई संख्या x दी गई शर्त को पूरा करती है, तो यह स्पष्ट है कि q को p से विभाजित किया जाएगा अर्थात q% p =0 क्योंकि x, p का गुणज है और q, x का गुणज है
- इसलिए x का न्यूनतम संभव मान p और q का GCD होगा और जब q, p से विभाज्य नहीं है तो कोई भी संख्या दी गई शर्त को पूरा नहीं करेगी
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int getMinValue(int p, int q) {
if (q % p == 0) {
return __gcd(p, q);
}
return -1;
}
int main() {
int p = 3;
int q = 66;
cout << "Minimum value = " << getMinValue(p, q) << endl;
return 0;
} जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है -
आउटपुट
Minimum value = 3