static void Main(string[] args) { int Factorial(int n) { if (n == 1) return 1; else return n * Factorial(n - 1); } Console.Write("정수 하나를 입력하세요 : "); int N = int.Parse(Console.ReadLine()); Console.WriteLine(Factorial(N)); } 팩토리얼은 재귀함수를 이용하는 대표적인 메소드이다. n == 1 라면 return 1 ; - 정상종료이지만 다른 무엇인가 있다는 것을 나타냄. n != 1 라면 return 반환값에서 자기자신인 Factorial함수를 계속해서 호출. 호출하면서 n 값을 1씩 뺌. loop하다가 n == 1 되면 정상적인 종료.