2015-11-10 71 views
0

有人知道爲什麼這個答案是12而不是10?主要方法的遞歸

public static int recurse (int x) { 
if (x < 1) 
return x; 
else 
return (x + recurse (x-2)); 
} 
public static void main(String [] args) { 
System.out.println (recurse(6)); 
} 
+3

因爲6 + 4 + 2 + 0是12而不是10。 – rici

回答

0

您可以使用Rubber Duck Debugging理解爲什麼它的計算結果爲12,你可以解釋給你的鴨子開始,「因爲6是不小於1,遞歸(6)是一樣的6 +遞歸(6 - 2)「。