I'm struggling to understand this factorial algorithm.
Falling(n, m): if m = 0 return 1 if m = 1 return n return Falling(n, floor(m/2))* Falling(n - floor(m/2), ceil(m/2))
The algorithm should compute $n!/(n-m)!$
I'm analyzing it in the case of n = m, i.e it returns n! Now I'm getting the correct results from my implementation of it in Java, but the correctness of it has shaking my head.
How should I approach this?