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

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

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

Input : N = 5
Output : 252

Input : N = 4
Output : 70

Input : N = 3
Output : 20

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

समाधान खोजने के लिए दृष्टिकोण

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

उदाहरण

#include<bits/stdc++.h>

using namespace std;
int fact(int n){ // factorial function 
   if(n <= 1)
      return 1;
   return n * fact(n-1);
}
int main() {
   int n = 5; // given n
   int answer = 0; // our answer
   answer = fact(n+n); // finding factorial of 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++ प्रोग्राम और हमारे द्वारा हल किए गए संपूर्ण दृष्टिकोण को भी सीखा। हम उसी प्रोग्राम को अन्य भाषाओं जैसे सी, जावा, पायथन और अन्य भाषाओं में लिख सकते हैं। हमें उम्मीद है कि आपको यह लेख मददगार लगा होगा।


  1. सी++ का उपयोग करके एन-आरी ट्री को पार करने के तरीकों की संख्या ज्ञात करें

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

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

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

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

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