Catalan Numbers

Generate first n Catalan numbers.

Logic BuildingAdvanced
Logic Building
# Helper function
def catalan(n):
    if n == 0:
        return 1
    result = 0
    for i in range(n):
        result += catalan(i) * catalan(n - 1 - i)
    return result

# Take n
n = int(input("Enter n: "))

# Print Catalan numbers
print(f"First {n} Catalan numbers:")
for i in range(n):
    print(catalan(i), end=" ")
print()

Output

Enter n: 10
First 10 Catalan numbers:
1 1 2 5 14 42 132 429 1430 4862

Catalan numbers using recursive formula.

Key Concepts:

  • C(0) = 1
  • C(n) = sum of C(i) * C(n-1-i)
  • Recursive calculation