아래의 메서드는 n = 20을 주면 5를 반환합니다.
제 질문은 각 반복마다 어떻게 하나씩 증가합니까?Java 재귀 메서드
mystery(10) + 1
= mystery(5) + 2
= mystery(2) + 3
= mystery(1) + 4
= mystery(0) + 5 = 5.
나는 재귀에 어려움을 겪고있다.
public static int mystery(int n){
if(n <= 0){
return 0;
}else{
return mystery(n/2) + 1;
}
}
제 질문은 어떻게 반복마다 하나씩 증가합니까? 명확히하십시오. – Coda17
디버거에서 단계별로 수행하십시오 - 모두 대답 할 것입니다 – KevinDTimm
간단히 말해서'ln (n) + 1'을 리턴한다고 생각할 수 있습니다. – devnull