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

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

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

उदाहरण

इनपुट

3

आउटपुट

5

व्याख्या

सीढ़ियों को रंगने के तरीके हैं: YRY, RYR, YRR, RRY, RRR. यहां R लाल रंग दर्शाता है, Y पीला रंग दर्शाता है।

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

N = 1, ways(1) = 2: R, Y

N = 2, ways(2) = 3: RY, YR, RR

N = 3, ways(3) = 5: RYR, YRY, RRY, YRR, RRR

N = 4, ways(4) = 8: YRYR, RYRY, RYRR, YRRY, YRRR, RRYR, RRRR, RRRY.

तो इन मामलों से, हम यह निकाल सकते हैं कि यह एक फिबोनाची श्रृंखला है जो 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++ प्रोग्राम में डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में आसन्न न होने वाले नोड्स का अधिकतम योग C++ प्रोग्राम में डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में आसन्न न होने वाले नोड्स का अधिकतम योग

    इस समस्या में, हमें एक बाइनरी ट्री दिया गया है जिसमें प्रत्येक नोड का एक मान है। हमारा कार्य एक प्रोग्राम बनाना है जो डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में ऐसे नोड्स का अधिकतम योग ढूंढे जो आसन्न न हों। समस्या विवरण हम बाइनरी ट्री के उपसमुच्चय (subsets) को चुनेंगे ताकि योग अधिकतम हो औ

  1. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

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

  1. - C++ प्रोग्राम: ऐसी संख्याएं प्रिंट करना जहां कोई दो लगातार संख्याएं सह-अभाज्य न हों और हर तीन लगातार संख्याएं सह-अभाज्य हों

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