[백준] 10872번 팩토리얼 문제
문제
문제출처 : Baekjoon
풀이
import java.util.*;
public class Main {
public static void main(String[] args) {
Main function = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(function.factorial(n));
}
public int factorial(int n){
if(n <= 1){
return 1;
}else{
return n*factorial(n-1);
}
}
}
회고
if(n==1)
로 조건을 주었더니 스택오버플로우 에러가 나서 무슨 문제인가 싶어서 고민해보니, test값으로 0이 들어올경우-1 -2 ...
등등의 값이 들어가게 되어서if(n<=1)
로 조건을 주어야 했던것이다!