Factorial de un numero.

Programa que recibe un número entero y devuelve la factorial del mismo.
Código fuente


fact::Int->Int

fact 0=1

fact n=n*fact(n-1)



Ejemplo:

Si: n=5

Fact 5 = 5 * fact (5-1)

Tendremos:

Fact 5 = 5 * fact 4



Ahora:

Fact 4 = 4 * fact (4 -1) -> fact 4 = 4 * fact 3

Fact 3 = 3 * fact (2-1) -> fact 3 = 3 * fact 2

Fact 2 = 2 * fact (2- 1) -> fact 2 = 2 * fact 1

Fact 1 = 1 * fact (1-1) -> fact 1 = 1 * fact 0

Fact 0 = 1

Finalmente:

Fact 5 =5*fact 4

fact 4=4*fact 3

fact 3=3*fact 2

fact 2=2*fact 1

fact 1=1*fact 0

fact 0=1

fact 5 = 5 * 4 * 3 * 2 * 1 * 1 = 120

Artículos relacionados:

Evidentemente la factorial de 5 es 120.

1 comentarios :

Gabriel Eduado Zuñiga Castillo dijo...

se explica muy bien, gracias por tu aportación, un saludo