इस लेख में हम सब कुछ समझाएंगे कि मॉड्यूलर समीकरणों का समाधान क्या है, साथ ही हम मॉड्यूलर समीकरणों के कई समाधान खोजने के लिए एक कार्यक्रम भी लिखेंगे। तो यहाँ मूल उदाहरण है -
Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y) Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y)
जैसा कि हम उपरोक्त उदाहरण में देख सकते हैं, प्रत्येक पूर्णांक वह हल है जो X को विभाजित करने पर शेषफल देता है। इस उदाहरण में, 30 को 4, 7, 14, 28 से विभाजित करने पर शेष दो प्राप्त होते हैं, जो Y के बराबर है। हम हल करेंगे इस तरह से मापांक समीकरण।
समाधान खोजने के लिए दृष्टिकोण
हम एक सरल दृष्टिकोण लागू कर सकते हैं जो 1 से शुरू होने वाले प्रत्येक पूर्णांक द्वारा एक्स को विभाजित करता है और जांचता है कि क्या यह शेष वाई देता है, या हम प्रत्येक पूर्णांक और पूर्णांक के साथ (एक्स - वाई) विभाजित कर सकते हैं जो विभाजित करता है (एक्स - वाई) लेकिन एक्स नहीं समाधान हैं . आइए मॉड्यूलर समीकरणों का एक अलग समाधान खोजने के लिए एक 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++) { // if N is divisible by i if ((N % i) == 0) { // count if integer is greater than 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 can take Infinitely many values" " greater than " << X << "\n"; } else { cout << "Number of solution = " << noOfSolutions; } } // main function int main(){ int X,Y; cin >> X; cin >> Y; numberofsolutions(X, Y); return 0; }
आउटपुट
जब हम इनपुट के रूप में 0 लिखते हैं, तो प्रोग्राम इस तरह का आउटपुट देता है -
X can take Infinitely many values greater than 0
जब हम अन्य नंबर डालते हैं, तो उपरोक्त प्रोग्राम इस तरह आउटपुट दिखाता है (यहां हमने इनपुट के रूप में 5 प्रदान किया है) -
Number of solution = 2
उपरोक्त कोड की व्याख्या
अब हम प्रत्येक फंक्शन की व्याख्या करेंगे ताकि आप प्रोग्राम को आसानी से समझ सकें।
मुख्य() फ़ंक्शन
मुख्य फ़ंक्शन में हम इनपुट के रूप में X और Y का मान ले रहे हैं और numberofsolutions() फ़ंक्शन को कॉल करके संभावित समाधानों की संख्या ज्ञात कर रहे हैं।
Numberofsolutions()फ़ंक्शन
यह फ़ंक्शन जांचता है कि क्या एक्स और वाई उस शर्त को पूरा करते हैं, जिसमें एक्स को वाई से बड़ा होना चाहिए क्योंकि हम लाभांश से अधिक शेष नहीं पा सकते हैं। यह फ़ंक्शन किसी अन्य फ़ंक्शन को कॉल करता है numberofdivisor() और X के भाजक की संख्या प्राप्त करता है, जो शेष Y देता है।
Numberofdivisor() फ़ंक्शन
यह फ़ंक्शन 1 से (X - Y)/2 तक लूप चलाकर और प्रत्येक पूर्णांक को विभाजित करता है या नहीं, यह जाँच कर X - Y के भाजक की संख्या का पता लगाता है, और यह पूर्णांक X को पूरी तरह से विभाजित नहीं करना चाहिए।
निष्कर्ष
मॉड्यूलर समीकरणों का समाधान वह पूर्णांक है जो X को विभाजित करता है और शेष Y देता है; इसे हम विभिन्न उदाहरणों से समझते हैं। समीकरणों के कुछ समाधान हो सकते हैं, इसलिए हम एक सरल दृष्टिकोण को लागू करके इन समाधानों को ढूंढते हैं।
हम एक सी ++ प्रोग्राम लिख सकते हैं जो मॉड्यूलर समीकरणों के समाधान की गणना करेगा। हम उसी प्रोग्राम को अन्य भाषाओं जैसे C, Java, Python, या किसी अन्य प्रोग्रामिंग भाषा में लिख सकते हैं। आशा है कि आपको यह लेख मॉड्यूलर समीकरणों के कई समाधान खोजने की अवधारणा को समझने में मददगार लगेगा।