문제
import java.util.Scanner;
public class Main{
long N;
public static void main(String[] args) {
Main fT=new Main();
Scanner sc=new Scanner(System.in);
fT.N=sc.nextLong();
long result=fT.Factorial(fT.N);
System.out.println(result);
}
public long Factorial(long N){
if(N==0)
return 1;
else
return N*Factorial(N-1);
}
}
풀면서 생긴 문제들
1. 백준에서 컴파일 에러가 발생함 이유는 class명이 factorial이였기 때문
public 클래스를 Main으로 해주지 않으면 문제가 발생함
2. 문제를 분석해봐야겠음. 문제에 힌트가 있었는데도
1. 0을 입력받았을때 결과
2. 20까지 입력가능
20 입력시 오버플로우와 0입력시 결과를 신경쓰지 않아 두번 실패