C#: Calcular los primeros n números de Catalan

Tiempo de lectura: < 1 minuto

La serie de números de Catalan es una secuencia de números enteros que aparecen en diversos problemas de combinatoria. Comienza con el número 1 y se puede calcular mediante una fórmula recursiva. Los primeros términos son 1, 1, 2, 5, 14, 42, ...

//Usings.
using System

/// <summary>
/// Calcula los primeros n números de Catalan.
/// </summary>
/// <param name="n">La cantidad de números de Catalan a calcular.</param>
/// <returns>Un array que contiene los primeros n números de Catalan.</returns>
public static int[] CatalanNumbers(int n)
{
	if (n <= 0)
	{
		throw new ArgumentException("La cantidad de números debe ser mayor que cero.", nameof(n));
	}

	int[] catalan = new int[n];
	catalan[0] = 1;

	for (int i = 1; i < n; i++)
	{
		catalan[i] = (2 * (2 * i + 1) * catalan[i - 1]) / (i + 2);
	}

	return catalan;
}

Deja un comentario