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

सी++ में सीढ़ियां चढ़ना

एन सीढ़ियाँ हैं। एक व्यक्ति पहली से नौवीं सीढ़ियों तक जाएगा। वह एक कदम में अधिकतम कितनी सीढ़ियाँ पार कर सकता है, यह भी दिया गया है। इस जानकारी से हमें नौवीं सीढ़ियों तक जाने के संभावित रास्ते तलाशने होंगे। आइए मान लें कि प्रत्येक चरण में अधिकतम दो सीढ़ियां पार की जा सकती हैं। तो हम इस समस्या को हल करने के लिए पुनरावर्ती संबंध पा सकते हैं। कोई भी nth सीढ़ी पर जा सकता है, या तो (n-1)th सीढ़ी से या (n-2)th सीढ़ी से। तो तरीके (एन) =तरीके (एन -1) + तरीके (एन -2)।

मान लीजिए सीढ़ियों की संख्या, मान लीजिए 10, सीढ़ियों की अधिकतम संख्या जो एक कदम में कूदी जा सकती है, मान लीजिए 2, तो आउटपुट 89 संभावित तरीकों से होगा।

इसे हल करने के लिए, इन चरणों का पालन करें -

  • सीढ़ी संख्या के समान आकार की सरणी गणना परिभाषित करें
  • गिनती[0] :=1
  • के लिए मैं :=2 से सीढ़ी -1, करते हैं
    • गिनती[i] :=0
    • j =1 से i और j <=अधिकतम के लिए; करो
      • गिनती[i] :=गिनती[i] + गिनती[i - j]
  • वापसी की गिनती[सीढ़ी - 1]

आइए बेहतर ढंग से समझने के लिए कार्यान्वयन देखें

उदाहरण (C++)

#include<iostream>
using namespace std;
int stairClimbWays(int stair, int max){
   int count[stair]; //fill the result stair using bottom up manner
   count[0] = 1; //when there are 0 or 1 stair, 1 way to climb
   count[1] = 1;
   for (int i=2; i<stair; i++){ //for stair 2 to higher
      count[i] = 0;
      for(int j=1; j<=max && j<=i; j++)
         count[i] += count[i-j];
   }
   return count[stair-1];
}
int countWays(int stair, int max){ //person can climb 1,2,...max stairs at a time
   return stairClimbWays(stair+1, max);
}
int main (){
   int stair, max;
   cout << "Enter number of stairs: "; cin >> stair;
   cout << "Enter max stair a person can climb: "; cin >> max;
   cout << "Number of ways to reach: " << countWays(stair, max);
}

इनपुट

Stairs = 10
Max stairs a person can climb: 2

आउटपुट

Enter number of stairs: 10
Enter max stair a person can climb: 2
Number of ways to reach: 89

  1. Linux पर c++ के लिए शीर्ष IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। यहाँ Linux के लिए सर्वश्रेष्ठ C/C++ IDE की सू

  1. विंडो पर c++ के लिए शीर्ष IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। यहां विंडो के लिए सर्वश्रेष्ठ C/C++ IDE की सू

  1. पायथन में न्यूनतम लागत चढ़ाई सीढ़ियाँ

    मान लीजिए कि एक सीढ़ी है, यहां i-वें चरण में कुछ गैर-ऋणात्मक लागत मूल्य लागत [i] निर्दिष्ट की जाएगी। जब हम लागत का भुगतान करते हैं, तो हम या तो एक या दो कदम चढ़ सकते हैं। हमें मंजिल के शीर्ष तक पहुंचने के लिए न्यूनतम लागत का पता लगाना होगा, और हम या तो सूचकांक 0 के साथ कदम से शुरू कर सकते हैं, या सू