• 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

자바 업캐스팅, 재귀함수 질문드립니다.

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이 계산되는지 이해가 안 됩니다..

답변 2

·

답변을 작성해보세요.

1

rokkk님의 프로필

rokkk

질문자

2024.06.28

제 계산이 잘못되었네요,

6 = 6+sumValues(4) // 6+6, 12

8 = 8+sumValues(6) // 8+12, 20으로, sum:20이 맞네요 !

강의 너무 잘듣고 있습니다 !

0

답변을 이미 말씀해주셔서 특별한 코멘트하지 않겠습니다 😃

 

합격을 응원합니다.

감사합니다.

채널톡 아이콘