출처 : https://www.acmicpc.net/problem/10872
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
첫째 줄에 N!을 출력한다.
10
3628800
0
1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int sum = factorial(num);
sc.close();
System.out.print(sum);
}
public static int factorial(int n){
if(n<=1){
return 1;
}else{
return n * factorial(n - 1);
}
}
}
재귀에는 탈출조건이 필요하다.
팩토리얼은 값을 1씩 감소시키며 곱셈을 하는 것으로 1이하가 될 때까지 곱셈을 하기때문에 탈출조건은 1이하가 된다.