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)
}