Factorial and Recursion

Now that we have conditionals, we can start to put together more sophisticated programs than we’ve seen so far. Let’s write a function to compute factorials. Factorials multiply all the numbers down to 1. For example, the factorial of 5 is 5 * 4 * 3 * 2 * 1. But there’s a different way to define factorials that also works.

  • The factorial of 0 is 1.

  • The factorial of x is x times the factorial of x - 1

NOTE We’re ignoring negative numbers and non-integers.

In fact, we can write exactly that code in Rust. If you’re brave, try writing a function called fact (short for factorial) that uses an if/else and calls itself. If you’re not brave, or when you want to check your answer, I’ve included a solution below.