Skip to content

Instantly share code, notes, and snippets.

@colleowino
Forked from flakyfilibuster/factorial.rb
Created April 30, 2017 00:39
Show Gist options
  • Save colleowino/18d6f1b7405fc5375f43a8af091a3be5 to your computer and use it in GitHub Desktop.
Save colleowino/18d6f1b7405fc5375f43a8af091a3be5 to your computer and use it in GitHub Desktop.
Sweet ass factorials in Ruby! #1 - Iterative long #2 - Iterative short #3 - Recursive long #4 - Recursive short
# Factorial Recursive #
#######################
# Long Version:
def factorial(n)
if n == 0
return 1
else
return n*factorial(n-1)
end
end
# Short Version (with ternary operator :D):
def factorial(n)
n == 0 ? 1 : n*factorial(n-1)
end
# Factorial Iterative #
#######################
# Long Version:
def factorial(n)
sum = 1
until n == 0
sum *= n
n -= 1
end
sum
end
# Oh so sweet short version:
def factorial(n)
(1..n).inject(:*) || 1
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment