समस्या कथन
दो पूर्णांक p और q दिए गए हैं, कार्य न्यूनतम संभव संख्या x ढूंढना है जैसे कि q % x = 0 और x % p = 0। यदि शर्तें किसी संख्या के लिए सही नहीं हैं, तो -1 प्रिंट करें।
उदाहरण
यदि p = 3 और q = 66 तो उत्तर 3 है क्योंकि: 66 % 3 = 0 3 % 3 = 0
एल्गोरिदम
- यदि कोई संख्या x दी गई शर्त को पूरा करती है, तो यह स्पष्ट है कि q, p से विभाज्य होगा अर्थात q % p = 0 क्योंकि x, p का गुणक है और q, x का गुणक है
- इसलिए x का न्यूनतम संभव मान p और q का GCD होगा और जब q, p से विभाज्य नहीं है तो कोई भी संख्या दी गई शर्त को पूरा नहीं करेगी
उदाहरण
#includeusing 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