Factorial and Recusion (04/08/2021)
The factorial of a number is the product of all the natural numbers less than the number. For example 1! = 1, 2! = 1×2 = 2, 3! = 1×2×3, and so forth. Factorials can be used to count the number of permutations of a collection of objects. For example, permutations of three numbers 123 include {123, 132, 213, 231, 312, 321}. Notice that 3! = 6 (the number of permutations of the three). The following is a video on 0! by Numberphile. So, how can we program a computer to calculate factorials? There are of course many ways, but my favourite has to be the recursive method; Notice that n! = n×(n-1)!. Turns out that this is all we need. Here is a quick implementation in python: code { def factorial(n): if n==0 return 1 else return n*factorial(n-1) } There are a few practical problems with the way I have implemented it. Firstly, it doesn't check if the input is an integer; if whoever's using the function used a number like a half as an argument to the function, it wou...