इस लेख में हम मॉड्यूलर समीकरणों के समाधान के बारे में सब कुछ समझाएंगे, साथ ही मॉड्यूलर समीकरणों के समाधानों की संख्या खोजने के लिए एक प्रोग्राम लिखेंगे। तो यहाँ बुनियादी उदाहरण है:
Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (Y के बराबर), 30 mod 7 = 2 (Y के बराबर), 30 mod 14 = 2 (Y के बराबर), 30 mod 28 = 2 (Y के बराबर) Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (Y के बराबर), 30 mod 7 = 2 (Y के बराबर), 30 mod 14 = 2 (Y के बराबर), 30 mod 28 = 2 (Y के बराबर)
जैसा कि हम उपरोक्त उदाहरण में देख सकते हैं, हर पूर्णांक वह समाधान है जो X को विभाजित करने पर शेषफल Y देता है। इस उदाहरण में, 30 को 4, 7, 14, 28 से विभाजित करने पर शेषफल दो मिलता है, जो Y के बराबर है। हम इसी तरीके से मॉड्यूलस समीकरणों को हल करेंगे।
समाधान खोजने के दृष्टिकोण
हम एक सरल दृष्टिकोण लागू कर सकते हैं जो X को 1 से शुरू होने वाले प्रत्येक पूर्णांक से विभाजित करता है और जांचता है कि क्या यह शेषफल Y देता है, या हम (X - Y) को प्रत्येक पूर्णांक से विभाजित कर सकते हैं और जो पूर्णांक (X - Y) को विभाजित करता है लेकिन X को नहीं, वे समाधान हैं। आइए मॉड्यूलर समीकरणों के विभिन्न समाधान खोजने के लिए एक C++ प्रोग्राम लिखें।
उदाहरण
#include <bits/stdc++.h> using namespace std; int numberofdivisor(int X, int Y){ int N = (X - Y); int noOfDivisors = 1; for (int i = 1; i <= N/2; i++) { // यदि N, i से विभाज्य है if ((N % i) == 0) { // गिनें यदि पूर्णांक Y से बड़ा है if (i > Y) noOfDivisors++; } } return noOfDivisors; } void numberofsolutions(int X, int Y){ int noOfSolutions; if (X == Y) noOfSolutions = -1; if (X < Y) noOfSolutions = 0; if (X > Y) noOfSolutions = numberofdivisor(X, Y); if (noOfSolutions == -1) { cout << "X " << X << " से अधिक अनंत मान ले सकता है\n"; } else { cout << "समाधानों की संख्या = " << noOfSolutions; } } // मुख्य फ़ंक्शन int main(){ int X,Y; cin >> X; cin >> Y; numberofsolutions(X, Y); return 0; }आउटपुट
जब हम 0 को इनपुट के रूप में लिखते हैं, तो प्रोग्राम इस तरह आउटपुट देता है:
X 0 से अधिक अनंत मान ले सकता है
जब हम अन्य संख्याएं डालते हैं, तो उपरोक्त प्रोग्राम इस तरह आउटपुट दिखाता है (यहाँ हमने 5 इनपुट के रूप में प्रदान किया):
समाधानों की संख्या = 2
उपरोक्त कोड की व्याख्या
अब हम प्रत्येक फ़ंक्शन की व्याख्या करेंगे ताकि आप प्रोग्राम को आसानी से समझ सकें।
main() फ़ंक्शन
मुख्य फ़ंक्शन में हम X और Y का मान इनपुट के रूप में ले रहे हैं और numberofsolutions() फ़ंक्शन को कॉल करके संभावित समाधानों की संख्या खोज रहे हैं।
Numberofsolutions() फ़ंक्शन
यह फ़ंक्शन जांचता है कि क्या X और Y शर्त को संतुष्ट करते हैं, जिसमें X, Y से बड़ा होना चाहिए क्योंकि हम लाभांश से बड़ा शेषफल नहीं ढूंढ सकते। यह फ़ंक्शन numberofdivisor() फ़ंक्शन को कॉल करता है और X के भाजकों की संख्या प्राप्त करता है जो शेषफल Y देता है।
Numberofdivisor() फ़ंक्शन
यह फ़ंक्शन 1 से (X - Y)/2 तक लूप चलाकर X - Y के भाजकों की संख्या ढूंढता है और जांचता है कि क्या प्रत्येक पूर्णांक विभाजित करता है या नहीं, और यह पूर्णांक X को पूरी तरह से विभाजित नहीं करना चाहिए।
निष्कर्ष
मॉड्यूलर समीकरणों का समाधान वह पूर्णांक है जो X को विभाजित करता है और शेषफल Y देता है; हम इसे विभिन्न उदाहरणों से समझते हैं। समीकरणों के कुछ समाधान हो सकते हैं, इसलिए हम एक सरल दृष्टिकोण लागू करके इन समाधानों को ढूंढते हैं।
हम एक C++ प्रोग्राम लिख सकते हैं जो मॉड्यूलर समीकरणों के समाधानों की गणना करेगा। हम इसी प्रोग्राम को C, Java, Python या किसी अन्य प्रोग्रामिंग भाषा में लिख सकते हैं। आशा है आपको यह लेख मॉड्यूलर समीकरणों के समाधानों की संख्या ज्ञात करने की अवधारणा को समझने में मददगार लगा होगा।