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

सीढ़ियों को दो रंगों से पेंट करने के तरीके जैसे कि दो आसन्न C++ में पीले न हों

हमें n सीढ़ियाँ और 2 रंग (लाल और पीला) दिए गए हैं जिनसे इन सीढ़ियों को रंगना है। हमारा काम उन तरीकों की संख्या गिनना है जिनसे हम सीढ़ियों को इस तरह से रंग सकते हैं कि कोई भी लगातार दो कदम पीले रंग के न हों।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

3

आउटपुट

5

स्पष्टीकरण

The ways in which stairs can be painted are YRY, RYR, YRR, RRY, RRR. here R denotes red color, Y denotes yellow color.

इस समस्या को हल करने के लिए, आइए देखें कि सीढ़ियों को कितने तरीकों से रंगा जा सकता है।

एन =1, तरीके(1) =2:आर, वाई

एन =2, तरीके (2) =3 :आरवाई, वाईआर, आरआर

एन =3, तरीके(3) =5 :आरवाईआर, वाईआरवाई, आरआरवाई, वाईआरआर, आरआरआर

एन =4, तरीके(4) =8:वाईआरवाईआर, आरवाईआरई, आरवाईआरआर, वाईआरआरवाई, वाईआरआरआर, आरआरवाईआर, आरआरआरआर, आरआरआरई।

तो इन मामलों से, हम यह व्युत्पन्न कर सकते हैं कि यह एक फिबोनाची श्रृंखला है जिसमें 2 पहले तत्व के रूप में और 3 सेकंड के रूप में शुरू होता है।

हमारे तर्क के कार्य को स्पष्ट करने के लिए कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
int colorSteps(int n) {
   int first = 2;
   int next = 3;
   for (int i = 3; i <= n; i++) {
      next = first + next;
      first = next - first;
   }
   return next;
}
int main(){
   int n = 6;
   cout<<"Number of ways to color "<<n<<" steps is "<<colorSteps(n);
   return 0;
}

आउटपुट

Number of ways to color 6 steps is 21

  1. बाइनरी ट्री में नोड्स का अधिकतम योग जैसे कि C++ प्रोग्राम में डायनामिक प्रोग्रामिंग का उपयोग करते हुए कोई भी दो आसन्न नहीं हैं

    इस समस्या में, हमें एक बाइनरी ट्री दिया जाता है जिसमें प्रत्येक नोड का एक मान होता है। हमारा काम बाइनरीट्री में नोड्स की अधिकतम राशि को खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो आसन्न न हो। डायनामिक प्रोग्रामिंग का उपयोग करना। समस्या का विवरण - हम योग को अधिकतम करने के लिए बाइनरी ट्री के

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

  1. संख्याओं को मुद्रित करने का कार्यक्रम इस तरह से कि कोई भी दो क्रमागत संख्याएँ सह-अभाज्य न हों और प्रत्येक तीन क्रमागत संख्याएँ सह-अभाज्य हों C++ का उपयोग करना

    इस ट्यूटोरियल में, हम संख्याओं को प्रिंट करने के एक प्रोग्राम पर चर्चा करेंगे जैसे कि कोई भी लगातार दो संख्याएँ सह-अभाज्य न हों और हर तीन लगातार संख्याएँ सह अभाज्य हों। इसमें हमें एक पूर्णांक N दिया जाएगा, हमें 109 से कम N पूर्णांकों को इस प्रकार प्रिंट करना होगा कि कोई भी दो क्रमागत संख्याएँ सहअभा