私は2つの数を与えられた組み合わせを計算するプログラムを作っています、例:
java Combination 5 3
10の答えを与えるでしょう。
私は次のようなメソッドを持っています:
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);
数値が大きいほど計算を高速化するために、メモ化をどのように使用できますか?