-
카테고리
-
세부 분야
자격증 (개발 · 프로그래밍)
-
해결 여부
해결됨
자바 업캐스팅, 재귀함수 질문드립니다.
24.06.28 22:29 작성 조회수 57
0
JAVA언어 기출문제의 변형, 업캐스팅 + 재귀함수(16분)
class Child extends Parent{
public in sumValues(int n){
if(n <= 0){
return 0;
}
if(n%2 == 0){
return n + sumValues(n-2);
}else{
return sumValues(n-1);
}
위 코드에서, 짝수일 때 return n+sumValues(n-2),
홀수일 때 sumValues(n-1)을 실행하게 되는데,
9 = sumValues(8) // 18
8 = 8 + sumValues(6) // 18
7 = sumValues(6) // 10
6 = 6 + sumValues(4) // 10
5 = sumValues(4) // 6
4 = 4 + sumValues(2) // 6
3 = sumValues(2) // 2
2 = 2 + sumValues(0) // 2
1 = sumValues(0) // 0
0 = 0 // 0
으로, sum : 18로 생각을 했는데, 강의를 아무리 봐도 어떻게 20이 계산되는지 이해가 안 됩니다..
답변을 작성해보세요.
1
![rokkk님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
rokkk
질문자2024.06.28
제 계산이 잘못되었네요,
6 = 6+sumValues(4) // 6+6, 12
8 = 8+sumValues(6) // 8+12, 20으로, sum:20이 맞네요 !
강의 너무 잘듣고 있습니다 !
0
답변 2