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

जोड़े की गिनती जब कोई व्यक्ति C++ में अधिकतम एक के साथ जोड़ी बना सकता है


हमें N नंबर दिया गया है। एक कोडिंग प्रतियोगिता में भाग लेने वालों की। लक्ष्य नहीं खोजना है। जोड़े की संख्या जो तब संभव होती है जब कोई व्यक्ति अधिकतम एक अन्य व्यक्ति के साथ जोड़ी बना सकता है। तो एक जोड़ी में अधिकतम 2 प्रतिभागी होते हैं। प्रतिभागियों को अकेले भी भाग लेने की अनुमति है।

हम इसे पुनरावृत्ति का उपयोग करके हल कर सकते हैं जहां जोड़े=

  • गिनती=1 जब n=0 या 1 (केवल एक व्यक्ति बचा हो)

  • यदि व्यक्ति अविवाहित रहता है तो n-1 तक कम हो जाता है

    • अब शेष जोड़ी लोगों के लिए शेष =n-2

      गिनती=मेकपेयर्स(पी-1) + (पी-1)*मेकपेयर्स(पी-2);

आइए उदाहरणों से समझते हैं।

इनपुट - व्यक्ति=3

आउटपुट − जोड़ी बनाने के तरीकों की संख्या − 4

स्पष्टीकरण -

If three persons are a,b,c then ways of pairing could be:
(a,b), (c) → c remained single
(a,c), (b) → b remained single
(b,c), (a) → a remained single
(a),(b),(c) → all remained single
Total ways = 4

इनपुट - व्यक्ति=2

आउटपुट − जोड़ी बनाने के तरीकों की संख्या − 2

स्पष्टीकरण -

I persons are a,b then ways of pairing could be −
(a,b) → both paired
(a),(b) → both remained single
Total ways = 2

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम प्रतिभागियों की संख्या को संग्रहीत करने के लिए एक पूर्णांक व्यक्ति लेते हैं।

  • फंक्शन मेकपेयर्स (इंट पी) नहीं लेता है। इनपुट के रूप में व्यक्तियों की संख्या और उन तरीकों की गिनती लौटाता है जिनसे वे खुद को जोड़ सकते हैं।

  • प्रारंभिक गणना 0 के रूप में लें।

  • अगर p=0 या 1 तो सिंगल रहने का एक ही तरीका है।

  • अन्यथा व्यक्ति अविवाहित रहना चुन सकता है, फिर शेष (p-1) को (p1)*makePairs(p-2) का उपयोग करके जोड़े मिलेंगे।

  • गिनती का अंतिम मान नहीं के रूप में लौटाया जाता है। अंत में जोड़ी बनाने के तरीके।

उदाहरण

#include<iostream>
using namespace std;
int makePairs(int p){
   int count=0;
   // Base condition
   if (p==0 || p==1)
      { count=1; }
   else
      { count=makePairs(p-1) + (p-1)*makePairs(p-2); }
   return count;
}
int main(){
   int persons = 5;
   cout <<"Number of ways to make pair ( or remain single ):"<<makePairs(persons);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Number of ways to make pair ( or remain single ): 26

  1. C++ में सबसे अधिक पानी वाला कंटेनर

    हमें कंटेनर की दीवारों की ऊंचाई की एक सरणी दी गई है। लक्ष्य उस कंटेनर को ढूंढना है जिसमें पानी की अधिकतम मात्रा हो सकती है। चूंकि दीवारों की ऊंचाई एक सरणी के तत्व हैं, उनके बीच की दूरी को दो दीवारों के बीच की चौड़ाई के रूप में माना जाता है। उदाहरण के लिए, Arr[i] और Arr[j] की दीवारों के बीच j-i चौड़ा

  1. C++ में जोड़े का unordered_map कैसे बनाएं?

    इस ट्यूटोरियल में, हम यह समझने के लिए एक प्रोग्राम पर चर्चा करेंगे कि C++ में जोड़ियों का एक अनियंत्रित नक्शा कैसे बनाया जाए। अनियंत्रित नक्शे वे होते हैं जिनमें डिफ़ॉल्ट रूप से जोड़े के लिए हैश फ़ंक्शन नहीं होता है। यदि हम किसी विशेष जोड़ी के लिए हैश मान चाहते हैं, तो इसे स्पष्ट रूप से पारित करने

  1. एसटीएल में जोड़े को लागू करने के लिए सी ++ कार्यक्रम

    जोड़ी एक साधारण कंटेनर है जिसमें दो डेटा ऑब्जेक्ट होते हैं: ‘first’ = The first element is referenced as ‘first’ ‘second’ = the second element and the order is fixed (first, second). जोड़ी को असाइन किया जा सकता है, तुलना की जा सकती है और कॉपी की जा सकती है। इसका