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

C++ का उपयोग करके ग्रिड में एक बिंदु से दूसरे बिंदु तक जाने के तरीकों की संख्या खोजना


इस लेख में, हमें एक प्रश्न दिया गया है जिसमें हमें बिंदु A से B तक जाने के कुल तरीकों की संख्या खोजने की आवश्यकता है जहां A और B निश्चित बिंदु हैं, यानी A ग्रिड में शीर्ष-बाएं बिंदु है और B ग्रिड में नीचे-दाएं बिंदु है। उदाहरण के लिए:

इनपुट: N = 5
आउटपुट: 252

इनपुट: N = 4
आउटपुट: 70

इनपुट: N = 3
आउटपुट: 20

दिए गए समस्या में, हम सरल अवलोकनों द्वारा उत्तर को औपचारिक रूप दे सकते हैं और अपने परिणाम प्राप्त कर सकते हैं।

समाधान का दृष्टिकोण

इस दृष्टिकोण में, हम दिए गए समस्या के लिए अवलोकनों द्वारा एक सूत्र बनाते हैं कि ग्रिड में A से B तक यात्रा करने के लिए, हमें दाएं दिशा में n बार और नीचे की दिशा में n बार यात्रा करने की आवश्यकता होती है, इसलिए इसका मतलब है कि हमें इन पथों के संयोजन की सभी संभावनाओं को खोजने की आवश्यकता है, इसलिए यह हमें (n+n) और n के संयोजन का सूत्र देता है।

उदाहरण

#include<bits/stdc++.h>
using namespace std;

int fact(int n) { // फैक्टोरियल फंक्शन
    if(n <= 1)
        return 1;
    return n * fact(n-1);
}

int main() {
    int n = 5; // दिया गया n
    int answer = 0; // हमारा उत्तर
    answer = fact(n+n); // 2*n का फैक्टोरियल ढूंढना
    answer = answer / (fact(n) * fact(n)); // (2*n)! / (n! * n!)
    cout << answer << "\n";
}

आउटपुट

252

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

इस कोड में, हम 2*n के n के संयोजन के सूत्र की गणना करते हैं क्योंकि हम जानते हैं कि बिंदु A से B तक यात्रा करने के लिए, हमें दो दिशाओं में ठीक 2*n ऑपरेशन की आवश्यकता होगी, यानी एक दिशा में n ऑपरेशन और दूसरी में n ऑपरेशन और इसलिए हम इन ऑपरेशन्स के सभी संभावित संयोजन ढूंढते हैं, यानी (2*n)! / (n! * n!)। दिए गए प्रोग्राम की समग्र समय जटिलता O(1) है जिसका अर्थ है कि हमारी जटिलता दिए गए n पर निर्भर नहीं करती।

निष्कर्ष

इस लेख में, हमने ग्रिड में एक बिंदु से दूसरे बिंदु तक जाने के तरीकों की संख्या खोजने की समस्या पर चर्चा की। हमने इस समस्या के लिए C++ प्रोग्राम और इसे हल करने के पूर्ण दृष्टिकोण को भी सीखा। हम इसी प्रोग्राम को C, Java, Python और अन्य भाषाओं में लिख सकते हैं। आशा है कि आपको यह लेख मददगार लगा होगा।

  1. C++ में N-ary ट्री को पार करने के तरीकों की संख्या C++ में N-ary ट्री को पार करने के तरीकों की संख्या

    एक N-ary ट्री दिया गया है और हमें इस ट्री को पार करने के कुल तरीकों की संख्या निकालने का कार्य दिया गया है, उदाहरण के लिए -उपरोक्त ट्री के लिए, हमारा आउटपुट 192 होगा।इस समस्या के लिए, हमें कॉम्बिनेटोरिक्स के बारे में कुछ ज्ञान होना चाहिए। अब इस समस्या में, हमें बस हर पथ के लिए सभी संभावित संयोजनों क

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

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

  1. C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें

    यूक्लिडियन प्लेन ज्यामिति में एक चतुर्भुज चार शीर्षों और चार किनारों के साथ एक बहुभुज बनाता है। नाम 4-gon आदि। चतुर्भुजों के अन्य नामों में शामिल हैं और कभी-कभी उन्हें वर्ग, डिस्प्ले स्टाइल आदि के रूप में भी जाना जाता है।इस लेख में, हम दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करने के दृष