본문 바로가기

코테 준비

백준 10872번 - 팩토리얼(Java)

백준 10872번 - 팩토리얼(Java)

 

문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.

출력

첫째 줄에 N!을 출력한다.

풀이 과정

1. 재귀 함수를 사용해 팩토리얼을 구현하는 문제다.

2. N=1 일 때, N=0 일 때 오류가 나서, 예외 처리를 추가해서 성공했다.

 

import java.util.*;
 
public class Main {
	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		int N = scanner.nextInt();
		if(N==0) {
			System.out.println(1);
		}
		else {
			System.out.println(facto(N));
		}	
	}
	static int facto(int N) {
		if(N==1) {
			return 1;
		}
		return N*facto(N-1);
	}
}