Skip to main content

Catalan number series

Here given code implementation process.

//C Program
//Print catalan number
#include <stdio.h>
//Returns a given catalan number
unsigned long int catalan( unsigned long int number) {
  
   if (number <= 1){
      // Base to control recursion process
      // Here are ending of execution  recursion 
      return 1;
   }

   unsigned long int result = 0;

   for (unsigned long i=0; i<number; i++){
      // Recursively calculating of catalan number 
      result += catalan(i)*catalan((number-i)-1);
   }

   return result;
}
//Function which is handling the request of printing catalan number
void catalan_number(int size)
{
  printf("\nInitial %d catalan numbers is : \n", size);

  for (unsigned long i = 0; i < size; i++)
  { 
    // Display number
    printf("%ld ", catalan(i));
  }
}

int main() {

  // Test Case
  catalan_number(10);
  catalan_number(15);
  return 0;
}

Output

Initial 10 catalan numbers is :
1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
 C++ Program
 Print catalan number
*/
#include<iostream>
using namespace std;

class MyNumber {
	public:

		//Returns a given catalan number
		unsigned long catalan(unsigned long number) {
			if (number <= 1) {
				return 1;
			}
			int result = 0;
			for (unsigned long i = 0; i < number; i++) {
				// Recursively calculating of catalan number 
				result += this->catalan(i) *this->catalan((number - i) - 1);
			}
			return result;
		}
	//Function which is handling the request of printing catalan number
	void catalan_number(int size) {
		cout << "\nInitial " << size << " catalan numbers is : \n";
		for (unsigned long i = 0; i < size; i++) {
			// Display number

			cout << " " << this->catalan(i);
		}
	}
};
int main() {
	MyNumber obj ;
	// Test Case
	obj.catalan_number(10);
	obj.catalan_number(15);
	return 0;
}

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
  Java Program
  Print catalan number
*/

public class MyNumber {

  //Returns a given catalan number
  public int catalan(int number) {
    
    if (number <= 1){
      // Base to control recursion process
      // Here are ending of execution  recursion 
      return 1;
    }

    int result = 0;

    for (int i = 0; i < number; i++){
      // Recursively calculating of catalan number 
      result += catalan(i)*catalan((number-i)-1);
    }

    return result;
  }
  //Function which is handling the request of printing catalan number
  public void catalan_number(int size)
  {
    System.out.print("\nInitial "+size+" catalan numbers is : \n");

    for (int i = 0; i < size; i++)
    { 
      // Display number
      System.out.print(" "+catalan(i));
    }
  }


  public static void main(String[] args) {

    MyNumber obj = new MyNumber();
  
    // Test Case
    obj.catalan_number(10);
    obj.catalan_number(15);
  }
}

Output

Initial 10 catalan numbers is :
1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
  C# Program
  Print catalan number
*/
using System;
public class MyNumber {

	//Returns a given catalan number
	public int catalan(int number) {

		if (number <= 1) {
			// Base to control recursion process
			// Here are ending of execution  recursion 
			return 1;
		}

		int result = 0;

		for (int i = 0; i < number; i++) {
			// Recursively calculating of catalan number 
			result += catalan(i) * catalan((number - i) - 1);
		}

		return result;
	}
	//Function which is handling the request of printing catalan number
	public void catalan_number(int size) {
		Console.Write("\nInitial " + size + " catalan numbers is : \n");

		for (int i = 0; i < size; i++) {
			// Display number
			Console.Write(" " + catalan(i));
		}
	}


	public static void Main(String[] args) {

		MyNumber obj = new MyNumber();

		// Test Case
		obj.catalan_number(10);
		obj.catalan_number(15);
	}
}

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
# Python 3 Program
# Print catalan number
class MyNumber :
  #Returns a given catalan number
  def catalan(self, number) :
    if (number <= 1) :
      return 1
    
    result = 0
    i = 0
    while (i < number) :
      # Recursively calculating of catalan number 
      result += self.catalan(i) * self.catalan((number - i) - 1)
      i += 1
    
    return result
  
  #Function which is handling the request of printing catalan number
  def catalan_number(self, size) :
    print("\nInitial ", size ," catalan numbers is : ")
    i = 0
    while (i < size) :
      print(" ", self.catalan(i),end="")
      i += 1
    
  

def main() :
  obj = MyNumber()
  obj.catalan_number(10)
  obj.catalan_number(15)


if __name__ == "__main__":
  main()

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
# Ruby Program 
# Print catalan number
class MyNumber 
	#Returns a given catalan number
	def catalan(number) 
		if (number <= 1) 
			return 1
		end
		result = 0
		i = 0
		while (i < number) 
			# Recursively calculating of catalan number 
			result += self.catalan(i) * self.catalan((number - i) - 1)
			i += 1
		end
		return result
	end
	#Function which is handling the request of printing catalan number
	def catalan_number(size) 
		print("\nInitial ", size ," catalan numbers is  :\n")
		i = 0
		while (i < size) 
			print(" ", self.catalan(i))
			i += 1
		end
	end
end
def main() 
	obj = MyNumber.new()
	obj.catalan_number(10)
	obj.catalan_number(15)
end
main()

Output

Initial 10 catalan numbers is  :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is  :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
 Scala Program
 Print catalan number
*/
class MyNumber {
	//Returns a given catalan number
	def catalan(number: Int): Int = {
		if (number <= 1) {
			return 1;
		}
		var result: Int = 0;
		var i: Int = 0;
		while (i < number) {
			// Recursively calculating of catalan number 
			result += this.catalan(i) * this.catalan((number - i) - 1);
			i += 1;
		}
		return result;
	}
	//Function which is handling the request of printing catalan number
	def catalan_number(size: Int): Unit = {
		print(s"\nInitial $size catalan numbers is : \n");
		var i: Int = 0;
		while (i < size) {
			print(s" ${this.catalan(i)}");
			i += 1;
		}
	}
}
object Main {
	def main(args: Array[String]): Unit = {
		var obj: MyNumber = new MyNumber();
  		//Test Case
        obj.catalan_number(10)
        obj.catalan_number(15);
	}
}

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
  Swift 4 Program
  Print catalan number
*/
class MyNumber {
	//Returns a given catalan number
	func catalan(_ number: Int) -> Int {
		if (number <= 1) {
			return 1;
		}
		var result: Int = 0;
		var i: Int = 0;
		while (i < number) {
			// Recursively calculating of catalan number 
			result += self.catalan(i) * self.catalan((number - i) - 1);
			i += 1;
		}
		return result;
	}
	//Function which is handling the request of printing catalan number
	func catalan_number(_ size: Int) {
		print("\nInitial ", size ," catalan numbers is : ");
		var i: Int = 0;
		while (i < size) {
			print(" ", self.catalan(i),terminator:"");
			i += 1;
		}
	}
}
func main() {
	let obj: MyNumber = MyNumber();
	//Test Case
	obj.catalan_number(10);
	obj.catalan_number(15);
}
main();

Output

Initial  10  catalan numbers is :
  1  1  2  5  14  42  132  429  1430  4862
Initial  15  catalan numbers is :
  1  1  2  5  14  42  132  429  1430  4862  16796  58786  208012  742900  2674440
<?php
/*
  Php Program
  Print catalan number
*/
class MyNumber {
	//Returns a given catalan number

	public 	function catalan($number) {
		if ($number <= 1) {
			return 1;
		}
		$result = 0;
		for ($i = 0; $i < $number; $i++) {
			// Recursively calculating of catalan number 
			$result += $this->catalan($i) *$this->catalan(($number - $i) - 1);
		}
		return $result;
	}
	//Function which is handling the request of printing catalan number

	public 	function catalan_number($size) {
		echo("\nInitial ". $size ." catalan numbers is : \n");
		for ($i = 0; $i < $size; $i++) {
			// Display number

			echo(" ". $this->catalan($i));
		}
	}
};

function main() {
	$obj = new MyNumber();
	// Test Case

	$obj->catalan_number(10);
	$obj->catalan_number(15);
}
main();

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
/*
 Node Js Program
 Print catalan number
*/
class MyNumber {
	//Returns a given catalan number
	catalan(number) {
		if (number <= 1) {
			return 1;
		}
		var result = 0;
		for (var i = 0; i < number; i++) {
			// Recursively calculating of catalan number 
			result += this.catalan(i) *this.catalan((number - i) - 1);
		}
		return result;
	}
	//Function which is handling the request of printing catalan number
	catalan_number(size) {
		process.stdout.write("\nInitial " + size + " catalan numbers is : \n");
		for (var i = 0; i < size; i++) {
			// Display number

			process.stdout.write(" " + this.catalan(i));
		}
	}
}

function main(args) {
	var obj = new MyNumber();
	// Test Case
	obj.catalan_number(10);
	obj.catalan_number(15)
}
main();

Output

Initial 10 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862
Initial 15 catalan numbers is :
 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment