컴퓨터/백준 알고리즘
백준 알고리즘 - 27433번: 팩토리얼 2 [Java]
이상한 나그네
2023. 10. 14. 00:22
문제: https://www.acmicpc.net/problem/27433
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
System.out.println(factorial(N));
}
public static long factorial(int n) {
if(n == 0) return 1;
return n * factorial(n - 1);
}
}
2. 설명
재귀를 기반으로 한 팩토리얼입니다. factorial 함수의 인자인 n값이 0이라면 1을 아니라면 n * factorial을 반환하면 됩니다. 이 때 반환형을 long으로 하지 않으면 오버플로우가 발생하기에 long형으로 반환해주어야 합니다.
3. 정리
- 오버플로우만 조심하면 된다.