Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ का उपयोग करके मॉड्यूलर समीकरणों के हल की संख्या ज्ञात कीजिए

इस लेख में हम सब कुछ समझाएंगे कि मॉड्यूलर समीकरणों का समाधान क्या है, साथ ही हम मॉड्यूलर समीकरणों के कई समाधान खोजने के लिए एक कार्यक्रम भी लिखेंगे। तो यहाँ मूल उदाहरण है -

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, या किसी अन्य प्रोग्रामिंग भाषा में लिख सकते हैं। आशा है कि आपको यह लेख मॉड्यूलर समीकरणों के कई समाधान खोजने की अवधारणा को समझने में मददगार लगेगा।


  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क

  1. C++ का उपयोग करके सेट पर रिफ्लेक्सिव रिलेशंस की संख्या ज्ञात करें

    इस लेख में, हम एक सेट पर रिफ्लेक्सिव संबंधों की संख्या को खोजने के तरीकों की व्याख्या करेंगे। इस समस्या में, हमें संख्या n दी गई है, और n प्राकृत संख्याओं के समुच्चय पर, हमें प्रतिवर्ती संबंधों की संख्या निर्धारित करनी होगी। चिंतनशील संबंध − समुच्चय A में एक संबंध प्रतिवर्ती कहलाता है यदि (a, a) R