단계별로 풀어보기 > 재귀 > 팩토리얼 2
https://www.acmicpc.net/problem/27433
0<=N<=20인 정수 N이 주어질 때, N!를 출력하라.

import java.io.*;
public class 팩토리얼_2 {
public static long factorial(int N){
if(N<=1) return 1;
return N *factorial(N-1);
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
bw.write(String.valueOf(factorial(N)));
bw.flush();
bw.close();
br.close();
}
}
처음 풀었을 때, int 범위를 생각하지 않고 factorial 메서드를 int라고 설정해서 틀렸다. 이후 long으로 반환값을 고쳤다.
