Computer Science‎ > ‎

### Introduction to Ruby - Computing Factorials Recursively : An Example of Recursion

# n! = n * (n-1) * (n-2) * .... 1

# Let's use recursion to solve this in Ruby.
# A statutory warning: recursion is not the most effective way to solve this problem, specially given its tail-recursive nature

def recursiveFactorial(x)
return 1 if x == 1
return x * recursiveFactorial(x-1)
end

# Enter a number
puts "Enter a Number"
N = gets().to_i
# Display the Factorial of the number
puts "The Factorial is:"
puts recursiveFactorial(N).to_s

=begin
Some Sample Outputs *************************

~/work/ruby_tutorials\$ ruby recursiveFactorial.rb
Enter a Number
10
The Factorial is:
3628800

~/work/ruby_tutorials\$ ruby recursiveFactorial.rb
Enter a Number
8
The Factorial is:
40320
=end

Check out some of our other Ruby Tutorials :

## Introduction to Ruby

 Introduction to Ruby and some playing around with the Interactive Ruby Shell (irb) Introduction to Ruby - Conditional statements and Modifiers: If-then, Unless, Case Introduction to Ruby Comments - Single and Multi-Line comments Introduction to Ruby Loops - Using While, Until, For, Break, Next , Redo, Retry Introduction to Ruby - Arrays - Sorting, Filtering (Select), Transforming, Multi-Dimensional Arrays Introduction to Ruby - Strings Introduction to Ruby - Making a Script Executable Introduction to Ruby - Regular Expressions, Match, Scan Introduction to Ruby - Computing Factorials Recursively : An Example of Recursion Introduction to Ruby - Binomial Coefficients (nCr) : An Example of Recursion Introduction to Ruby - Computing a Power Set : An Example of Recursion Introduction to Ruby - Towers of Hanoi : An Example of Recursion Introduction to Ruby - Strings: Substitution, Encoding, Built-In Methods

## Basic Data Structures With Ruby

 Basic Data Structures in Ruby - Insertion Sort Basic Data Structures in Ruby - Selection Sort Basic Data Structures in Ruby - Merge Sort Basic Data Structures in Ruby - Quick Sort Functional Programming with Ruby Basic Data Structures in Ruby - Stack Basic Data Structures in Ruby - The Queue Basic Data Structures in Ruby - Linked List - ( A Simple, Singly Linked List) Basic Data Structures in Ruby - Binary Search Tree