def factorial(n)
if n > 1
# casos mayor que 1, se usa la formula recursiva
# n! = n*(n-1)!
n * factorial(n-1)
else
# casos 0 y 1, devuelve 1
1
end
end
Les presento una forma mas compacta de expresar el factorial
def factorial(n)
# el metodo inject del rango 2..n multiplica
# todos los elementos del conjunto tal como indica
# el bloque de codigo que se le esta pasando
(2..n).inject{|x,y| x*y}
end
A donde sea que vayan, lleven un interprete de ruby con ustedes
No hay comentarios:
Publicar un comentario