반응형
  • 재귀함수 : 함수가 자기자신을 다시 호출하여 문제를 해결하는 함수
  • 팩토리얼 문제를 통해 재귀함수 정리

팩토리얼이란?

  • 팩토리얼 : 어떤 수 이하의 모든 양의 정수의 곱
  • 기호는 !를 사용한다.
  • ex) 5! = 5 * 4 * 3 * 2 * 1 = 120

재귀함수를 이용한 팩토리얼 (개념)

  1. fact라는 메서드에 파라미터 x를 넘겨줌

  2. x값이 1이 될 때 까지 x * fact(x-1)을 return

  3. x값이 1이되면 1 return

    • fact(5) = 5 * fact(4) return
    • fact(4) = 4 * fact(3) return
    • fact(3) = 3 * fact(2) return
    • fact(2) = 2 * fact(1) return
    • fact(1) = 1 return
    • => fact(5) = 5 * fact(4) = 5 * 4 * fact(3) = 5 * 4 * 3 * fact(2) = 5 * 4 * 3 * 2 * fact(1) = 5 * 4 * 3 * 2 * 1 = 120

재귀함수를 이용해 팩토리얼 구현 코드

class factorial {
    public static void main(String[] args) {
        int n = 5;
        System.out.println(fact(n));    // 120 출력
    }

    private static int fact(int x) {
        if(x == 1) {
            return 1;
        }
        return x * fact(x-1);
    }
}
반응형

↓ 클릭시 이동

복사했습니다!