2015-11-10 2 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) ".

Смежные вопросы