[문제 풀이] 백준 10872번 팩토리얼 JAVA

반응형

본 문제는 수학의 팩토리얼(!) 문제였다.

팩토리얼은 n!이라고 했을 때 1부터 자연수 n까지의 모든 자연수를 곱한 값을 구하는 기호이다.

이문제를 보고 바로 재귀를 사용하여 접근해야겠다고 생각했고 아래와 같이 코드를 작성하였다.

import java.util.Scanner;
public class Main{
    public static void main(String args[]){ 
        Scanner s=new Scanner(System.in);
        int n=s.nextInt();
        System.out.print(fac(n));
    }
    public static int fac(int n){
        if(n==2){return 2;}
        if(n==0){return 1;}
        return n*fac(n-1);
    }
}

 

위의 코드처럼 재귀함수를 사용하는 것이 아니라 반복문을 통해서도 충분이 구현이 가능하다는 점 참고하여도 좋다.