본문 바로가기

백준 문제풀기/JAVA

[백준 27433 JAVA 자바] 팩토리얼 2

팩토리얼은

1부터 N까지의 곱을 말합니다

 

예를들어 5! (5팩토리얼)은

5*4*3*2*1 = 120입니다

 

1부터 N까지의 곱을 해야하기 때문에

for문을 이용하는게 보통이지만

 

저는 재귀함수를 이용해보겠습니다

 

코드입니다

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

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        
        System.out.println(facto(n));
    }
    
    static long facto(int n) { //팩토리얼 재귀 함수를 구현했습니다
    	
    	if(n==0) {
    		return 1;
    	}
    	
    	return n*facto(n-1); //n==0이 될때까지 재귀함수를 반복하게 됩니다
    }
}