[DFS] 3. 팩토리얼 ★

레테·2022년 1월 15일
0

Q. 개념


자연수 N이 입력되면 N!를 구하는 프로그램을 작성하세요.
예를 들어 5! = 54321=120입니다.
▣ 입력설명
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
▣ 출력설명
첫 번째 줄에 N팩토리얼 값을 출력합니다.
▣ 입력예제 1
5
▣ 출력예제 1
120

전략

  • 재귀함수가 함수값을 리턴하는 형태로 코드 구현
  • 구조

    [트리구조]
    1)에서 push되고, 2)에서 pop된다.

    [스택구조]
    -D(1)이 1을 리턴받아 끝나서 pop된다.
    -D(2)가 2 x D(1) = 2을 리턴받아 끝나서 pop된다. (D(1)은 1)
    ...
    -D(5)는 5 x D(4) = 120을 리턴받아 끝나서 pop된다. (D(4)는 4x3x2x1 = 24)

정답

import java.util.*;

class Main {
    public int DFS(int n){
        if(n==1) return 1;
        else return n*DFS(n-1);
    }
    public static void main(String[] args){
        Main T = new Main();
        System.out.println(T.DFS(5));
    }
}

0개의 댓글

관련 채용 정보