Código visto na W3schools, em estudos básicos de Java. Basicamente, considerando que start = 5 e end = 10, calculei o valor do return abaixo do IF como 10 + (5 + 10 - 1) = 24
, porém o resultado deu 45. Alguém pode explicar o que interpretei errado?
Fonte: https://www.w3schools.com/java/tryjava.asp?filename=demo_recursion2
Código:
public class Main {
public static void main(String[] args) {
int result = sum(5, 10);
System.out.println(result);
}
public static int sum(int start, int end) {
if (end > start) {
return end + sum(start, end - 1);
} else {
return end;
}
}
}