본문 바로가기
알고리즘 문제풀이/인프런

[알고리즘] 7-3 팩토리얼 - 재귀함수 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의)

by jeonghaemin 2021. 6. 13.
728x90

인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 풀이 코드를 정리하고 있습니다.

  • 문제 설명 : 자연수 n이 입력되면 n! 을 구하는 문제

자료구조 책과 같은 곳에서 재귀함수를 설명할 때 흔히 볼 수 있는 문제이다.

풀이

  • 재귀를 사용하여 풀이

n이 5일때, 메서드의 호출과 반환 과정은 다음과 같다.(->는 메서드 호출 순서, <- 은 반환 순서)

//팩토리얼
public class Main7_3 {

    public static int factorial(int n) {
        if (n == 1)
            return 1;
        else
            return n * factorial(n - 1);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        System.out.println(factorial(n));

        sc.close();
    }
}

댓글