This program shows how to execute the concept of recursion (using a function within itself). The factorial program takes in a number n, and computes n factorial (n!). n! = n*(n-1)*(n-2)*(n-3) etc. By definition, 0! is equal to 1. This example uses a while loop and a shift register.