백준

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

doomole 2024. 2. 7. 14:48
728x90

문제

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

입력

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

출력

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

풀이

 

단순하게 시작한 수부터 1씩 줄여서 곱하면 된다.

예외사항으로 0일 경우 1을 반환한다.

 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        int M = N;
        if(N == 0) {
            M = 1;
        }
        int K = N - 1;

        for(int i = 0; i < N - 1; i++) {
            M = M * K--;
        }

        System.out.println(M);
    }
}

 

 

문의사항이나 피드백은 댓글로 남겨주세요.