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:
- Haskell:Factorial de un número
- Haskell:Conteo, suma y producto
- Haskell: producto de digitos de un numero
- Haskell:suma de los dígitos de un número
Evidentemente la factorial de 5 es 120.