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

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

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

चिंतनशील संबंध − समुच्चय A में एक संबंध प्रतिवर्ती कहलाता है यदि (a, a) R से संबंधित है, क्योंकि प्रत्येक 'a' समुच्चय A से संबंधित है। उदाहरण के लिए -

Input : x = 1
Output : 1
Explanation : set = { 1 }, reflexive relations on A * A :
{ { 1 } }

Input : x = 2
Output : 4
Explanation : set = { 1,2 }, reflexive relations on A * A :
   { ( 1, 1 ) , ( 2, 2 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 1, 2 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 1, 2 ), ( 2, 1 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 2, 1 ) }

इसलिए, एक संबंध रिफ्लेक्टिव होता है यदि:(a, a) R ∀ a ∈ A.

समाधान खोजने के लिए दृष्टिकोण

एक तत्व सेट पर रिफ्लेक्टिव संबंधों की यह संख्या सूत्र 2n2−n द्वारा हल की जा सकती है। यह सामान्य सूत्र पूर्णांकों के प्रतिवर्ती संबंधों की संख्या की गणना करके उत्पन्न होता है।

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

उदाहरण

#include <iostream>
using namespace std;
int countReflexive(int n){
    int ans = 1 << (n*n - n);
    return ans;
}
int main(){
    int n ;
     cin >> n ; // taking input n from the user using std cin.
    int result = countReflexive(n); // calling function to calculate number of reflexive relations
    cout << "Number of reflexive relations on set: " << result ; // printing the answer
    return 0;
}

आउटपुट

Number of reflexive relations on set: 1

उपरोक्त कार्यक्रम की व्याख्या

यह प्रोग्राम समझने में आसान है क्योंकि हम केवल उपयोगकर्ता से इनपुट ले रहे हैं और इसे 2n2−n सूत्र में डाल रहे हैं। , और हम सूत्र की गणना के लिए लेफ्ट शिफ्ट "<<"ऑपरेटर का उपयोग कर रहे हैं, इस कोड की समय जटिलता O(1) है जो n के आकार के बढ़ने के साथ धीमी होती जा रही है।

निष्कर्ष

इस लेख में, हम एक सेट पर रिफ्लेक्सिव रिलेशंस की संख्या को खोजने के लिए एक समस्या का समाधान करते हैं। हमने गणितज्ञों द्वारा व्युत्पन्न रिफ्लेक्सिव संबंधों की संख्या की गणना करने के सूत्र के रूप में दी गई समस्या को हल करने के लिए सरल दृष्टिकोण पर चर्चा की।

हमने इस समस्या के लिए C++ प्रोग्राम भी सीखा जिसके द्वारा हमें O(1) की समय जटिलता के साथ समाधान मिला। हम उसी प्रोग्राम को अन्य भाषाओं जैसे C, java, python, और अन्य भाषाओं में लिख सकते हैं।


  1. C++ का उपयोग करके पंचकोणीय पिरामिड संख्या ज्ञात कीजिए

    एक पंचकोणीय पिरामिड संख्या एक पंचकोणीय आधार पिरामिड में मदों की संख्या के बराबर होती है। नीचे कुछ पंचकोणीय संख्याओं को देखें। N तक पंचकोणीय संख्याओं का योग Nवीं पंचकोणीय पिरामिड संख्या के बराबर होता है। इस लेख में, हम उदाहरण के लिए, Nth पंचकोणीय पिरामिड संख्या खोजने पर चर्चा करेंगे Input : N = 4

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

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

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

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