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

पायथन प्रोग्राम: nth कैटलन संख्या ज्ञात करें


इस लेख में, हम nth कैटलन संख्या की गणना के बारे में जानेंगे।

कैटलन संख्याएं प्राकृतिक संख्याओं का एक क्रम है जिसे पुनरावर्ती सूत्र द्वारा परिभाषित किया जाता है -

$$C_{0}= 1\:and\:C_{n+1}=\displaystyle\sum\limits_{i=0}^n C_{i}C_{n-i} for \:n\geq0;$$

n = 0, 1, 2, 3, ... के लिए पहली कुछ कैटलन संख्याएं 1, 1, 2, 5, 14, 42, 132, 429, ................... हैं

कैटलन संख्याएं रिकर्सन और डायनामिक प्रोग्रामिंग दोनों द्वारा प्राप्त की जा सकती हैं। तो आइए उनके कार्यान्वयन को देखते हैं।

दृष्टिकोण 1: रिकर्सन विधि

उदाहरण

# एक पुनरावर्ती समाधान
def catalan(n):
# ऋणात्मक मान
if n <= 1:
return 1
# Catalan(n) = catalan(i)*catalan(n-i-1)
res = 0
for i in range(n):
res += catalan(i) * catalan(n-i-1)
return res

# मेन
for i in range(6):
print(catalan(i))

आउटपुट

1 1 2 5 14 42

सभी वेरिएबल्स और पुनरावर्ती कॉल का स्कोप नीचे दिखाया गया है।

पायथन प्रोग्राम: nth कैटलन संख्या ज्ञात करें

दृष्टिकोण 2: डायनामिक प्रोग्रामिंग विधि

उदाहरण

# डायनामिक प्रोग्रामिंग का उपयोग करके
def catalan(n):
if (n == 0 or n == 1):
return 1
# टेबल विभाजित करें
catalan = [0 for i in range(n + 1)]
# इनिशियलाइज़ेशन
catalan[0] = 1
catalan[1] = 1
# पुनरावृत्ति
for i in range(2, n + 1):
catalan[i] = 0
for j in range(i):
catalan[i] = catalan[i] + catalan[j] * catalan[i-j-1]
return catalan[n]

# मेन
for i in range(6):
print(catalan(i), end=" ")

आउटपुट

1 1 2 5 14 42

सभी वेरिएबल्स और पुनरावर्ती कॉल का स्कोप नीचे दिखाया गया है।

पायथन प्रोग्राम: nth कैटलन संख्या ज्ञात करें

निष्कर्ष

इस लेख में, हमने nth कैटलन संख्या उत्पन्न करने की विधि के बारे में सीखा।

  1. पायथन प्रोग्राम: किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल पायथन प्रोग्राम: किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - एक संख्या n दी गई है, हमें इसके सभी अद्वितीय अभाज्य गुणनखंडों का गुणनफल ज्ञात करना होगा और इसे वापस करना होगा।उदाहरण के लिए,इनपुट: num = 11आउटपुट: Product is 11व्याख्या: यहां, इनपुट संख्या 11 का केवल 1 अभाज्य गुणनखंड ह

  1. पायथन प्रोग्राम: nth फाइबोनैचि संख्या ज्ञात करें पायथन प्रोग्राम: nth फाइबोनैचि संख्या ज्ञात करें

    इस लेख में, हम nth फाइबोनैचि संख्या की गणना करेंगे।एक फाइबोनैचि संख्या नीचे दिए गए पुनरावृत्ति संबंध द्वारा परिभाषित की जाती है -Fn = Fn-1 + Fn-2साथ में F₀ = 0 और F₁ = 1।पहली कुछ फाइबोनैचि संख्याएं हैं0, 1, 1, 2, 3, 5, 8, 13, ................हम फाइबोनैचि संख्याओं की गणना रिकर्सन और डायनामिक प्रोग्रा

  1. पायथन प्रोग्राम: जांचें कि दी गई संख्या फाइबोनैचि संख्या है या नहीं पायथन प्रोग्राम: जांचें कि दी गई संख्या फाइबोनैचि संख्या है या नहीं

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथनएक संख्या n दी गई है, जांचें कि क्या n एक फाइबोनैचि संख्या है या नहींहम सभी जानते हैं कि nth फाइबोनैचि संख्या पिछली दो फाइबोनैचि संख्याओं का योग है। लेकिन वे पुनरावृत्ति संबंध के अलावा एक दिलचस्प संबंध भी प्रदान करते हैं।