10872

  • 문제

    0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

  • 입력

    첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.

  • 출력

    첫째 줄에 N!을 출력한다.

  • 예제 입력 1

    10

  • 예제 출력 1

    3628800

  • 예제 입력 2

    0

  • 예제 출력 2

    1

풀이

재귀함수를 사용하여 푸는 기본적인 문제이고

자연수 N에 대하여, N 이하의 모든 자연수를 곱하는 팩토리얼(N!, 계승) 셈법으로

1×2×3×…×8×9×10=3,628,800이다.

코드

fun main() = readLine()!!.toInt().let {
  print(factorial(it))
}

fun factorial(n: Int): Int {
  return if (n <= 1) 1
  else n * factorial(n - 1)
}

Categories:

Updated: