BOJ 10872

2020-02-12

위 문제는 백준 사이트의 알고리즘 10872 문제에 관한 설명입니다.


문제

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

입력

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

출력

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


import java.util.*;

public class Main {
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      int n = scanner.nextInt();

      System.out.println(factorial(n));
    }
    public static int factorial(int n )
    {
        if(n==0)
        {
            return 1;
        }
        else
            return n *= factorial(n - 1);
    }
}


제가 푼 소스코드입니다.

코드 설명

for문으로 풀이해도 되었지만 재귀함수로 풀려 노력했습니다.

factorial 메소드를 이용해서 n이 0이라면 정상종료, 아니라면 재귀함수를 계속 반복합니다.

이후 출력이 됩니다.

재귀함수의 아주 기초였습니다.

팩토리얼