驴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).