Combinaciones usando la memorización en java

Estoy haciendo un programa que calcula una combinación dados dos números, por ejemplo:

java Combination 5 3 

daría una respuesta de 10.

Tengo un método que se ve así:

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);

¿Cómo podría usar la memorización para esto para hacer que se calcule más rápido con números más grandes?

Respuesta 1

Estoy escribiendo un algoritmo primo en java. Para permitir una buena extensibilidad, utilicé algunos genéricos. Pero hay un desajuste genérico que me molesta mucho. Lo resumo aquí y muestro mi código a continuación. el ...

Estoy usando Processing, y tengo un método (smooth () aquí) que me gustaría usar para el objeto PApplet cuando dibujo en la ventana y para PGraphics cuando dibujo una imagen. El problema es que estas dos ...

He visto muchas variaciones diferentes de código sobre cómo obtener una lista de aplicaciones instaladas y mostrarlas en un ListView al usuario, pero ninguna ha sido exitosa para mí. Lo que me gustaría saber es ...

Quiero crear un sistema que tenga una función de entrada / salida. Probé este código como prueba antes de incluir la función en mi sistema: import java.text.SimpleDateFormat; import java.util.Date; ...