I'm making a program that calculates a combination given two numbers, ex:
java Combination 5 3
would give an answer of 10.
I have a method that looks like this:
public static int choose(int n, int k) { // chooses k elements out of n total
if (n == 0 && k > 0)
return 0;
else if (k == 0 && n >= 0)
return 1;
else return choose(n - 1, k - 1) + choose(n - 1, k);
How would I be able to use memoization for this in order to make it calculate faster with larger numbers?