這將有助於.....
public static void main(String... args) {
System.out.println(tester(7, 2));
}
public static int tester(int n, int r) {
if (r == 0) {
System.out.println("r : 0.... Returning 1");
return 1;
}
if (r == 1) {
System.out.println("r : 1 ... Returning " + n);
return n;
}
if (r == n) {
System.out.println("r :" + n + ".. Returning 1");
return 1;
}
int temp = n - 1;
int temp2 = r - 1;
System.out.println("Calling tester(" + temp + "," + temp2 + ")");
return tester(n - 1, r - 1) + tester(n - 1, r);
}
Ø/P:
Calling tester(6,1)
r : 1 ... Returning 6
Calling tester(5,1)
r : 1 ... Returning 5
Calling tester(4,1)
r : 1 ... Returning 4
Calling tester(3,1)
r : 1 ... Returning 3
Calling tester(2,1)
r : 1 ... Returning 2
r :2.. Returning 1
21
嘗試用筆和紙做出來。也許你會找到答案! – devnull
我試過但我沒有通過,例如我知道部分 返回測試儀(n-1,r-1)會去 返回測試儀(6,1),然後 返回6.但我有麻煩添加return語句的另一部分並獲得相同的答案。 – Cody