재귀 함수

Sunny·2022년 8월 3일
0

🌱 재귀 함수

자신의 함수 내부에서 자기 자신을 스스로 호출함으로써 재귀적으로 문제를 해결하는 함수


🌱 예제1 : 팩토리얼 함수


public class Main {

	public static int factorial(int num){
    	if(num == 1) return 1;
        else
        	return num * factorial(num-1);   
    }
    
    public static void main(String[] args) {
    	
        System.out.println("3 팩토리얼은 "+factorial(3));
    }

}

💡 과정

  1. main 메소드에서 factorial(3) 호출

  2. factorial 메소드에서 num은 3이므로 else문 진행
    ▶ return 3 * factorial(2);

  3. 2의 리턴값에서 factorial(2) 호출
    ▶ factorial 메소드에서 num은 2이므로 else문 진행
    ▶ return 2 * factorial(1);

  4. 3의 리턴값에서 factorial(1) 호출
    ▶ factorial 메소드에서 num은 1이므로 if문 진행
    ▶ return 1;

  5. 최종 리턴값을 가지고 지금까지 거쳐온 과정을 거슬러 올라가면 된다.
    ▶ return 1
    ▶ return 2 ✖ factorial(1) = return 2 ✖ 1
    ▶ return 3 ✖ factorial(2) = return 3 ✖ 2 ✖ 1
    ▶ 6


💡 결과

3 팩토리얼은 6

profile
개발에 재미를 붙여보기 :)

0개의 댓글