알고리즘/문제

[백준] 10872번 문제: 팩토리얼 - JAVA

Retro Rat 2026. 3. 16. 23:04

https://www.acmicpc.net/problem/10872

[문제]


[해설]

1. 문제 이해

 

  • 입력: 0 이상 12 이하의 정수 N
  • 출력: N! (N factorial, 1×2×…×N)
  • 특이사항: 0! = 1, N! 계산 시 재귀 함수 사용 가능

 

 

2. 핵심 아이디어

 

  • 재귀 정의 사용
    • N! = N × (N-1)!
    • 종료 조건: 0! = 1! = 1
  • 종료 조건 처리
더보기
더보기
if (N <= 1) return 1;
 
  • 재귀 호출
더보기
더보기
return N * factorio(N-1);
  • 입출력
    • Scanner로 정수 입력
    • System.out.println()으로 결과 출력

 


[코드]

public class BaekJoon_10872 {
	public static int factorio(int N) {
    	if (N <= 1) {
        	return 1;
    	}
    	return N * factorio(N-1);

	}

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        System.out.println(factorio(N));

        sc.close();
    }
}