Problem 6: Falling Factorial (100pts)
Let's write a function falling
, which is a "falling" factorial that takes two arguments, \( n \) and \( k \), and returns the product of \( k \) consecutive numbers, starting from \( n \) and working downwards. (This problem is an advanced version of Problem 2, Lab 01.)
def falling(n, k):
"""Compute the falling factorial of n to depth k.
>>> falling(6, 3) # 6 * 5 * 4
120
>>> falling(4, 3) # 4 * 3 * 2
24
>>> falling(4, 1) # 4
4
>>> falling(4, 0)
1
"""
"*** YOUR CODE HERE ***"