Skip to content

Instantly share code, notes, and snippets.

@mekilis
Last active March 21, 2020 16:25
Show Gist options
  • Save mekilis/21570b70038903dfb31cd241bd5846ca to your computer and use it in GitHub Desktop.
Save mekilis/21570b70038903dfb31cd241bd5846ca to your computer and use it in GitHub Desktop.
The factorial function using recursion
private static long factorialTopDownRecursion(long n) {
// base case
if (n <= 1)
return 1;
return n * factorialTopDownRecursion(n-1);
}
private static long factorialBottomUpRecursion(long n) {
return _factorialBottomUpRecursion(1, n);
}
private static long _factorialBottomUpRecursion(long n, long upperBound) {
// base case
if (n > upperBound)
return 1;
return n * _factorialBottomUpRecursion(n+1, upperBound);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment