🥇 Funciones Recursivas, Calculo de Factorial

🍿 ¿Cómo calcular el factorial de un número mediante una función recursiva en Go?

Para calcular el factorial de un número mediante una función recursiva implementamos el siguiente algoritmo en Go.

La formula para el calculo del factorial de un numero es N! = N * (N-1) .... 2 * 1.

func CalcularFactorial(num int) int {

	if num <= 1 {
		return num
	}

	return num * CalcularFactorial(num-1)

}

func main() {

	fmt.Println("El factorial de 5 es:", CalcularFactorial(5))
	fmt.Println("El factorial de 4 es:", CalcularFactorial(4))
	fmt.Println("El factorial de 3 es:", CalcularFactorial(3))
	fmt.Println("El factorial de 2 es:", CalcularFactorial(2))
	fmt.Println("El factorial de 1 es:", CalcularFactorial(1))
	fmt.Println("El factorial de 0 es:", CalcularFactorial(0))

}

Salida.

El factorial de 5 es: 120
El factorial de 4 es: 24
El factorial de 3 es: 6
El factorial de 2 es: 2
El factorial de 1 es: 1
El factorial de 0 es: 0

La función CalcularFactorial se llama a si misma mientras la condición de salida no se cumpla, dicha condición es que num <= 1 (num sea menor o igual a 1), si esta función de salida no se cumple la función se vuelve a invocar a si misma reduciendo en 1 el valor de num.

La complejidad de este algoritmo es O(N).