문제
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
풀이
이항 계수를 구하는 공식은 $_{n}\mathrm{C}_{r}=\binom{n}{r}=\frac{n!}{r!(n-r)!}$이고 이를 재귀 팩토리얼 함수를 활용해 풀이하면 된다.
코드
import java.util.*
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val st = StringTokenizer(br.readLine())
val num = st.nextToken().toInt()
val k = st.nextToken().toInt()
fun factorial(n: Int): Int {
return if (n <= 1L) 1
else n * factorial(n - 1)
}
bw.write("${factorial(num)/(factorial(k)*factorial(num-k))}")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 2579번: 계단 오르기 - Kotlin[코틀린] (0) | 2023.09.21 |
---|---|
[백준] 9095번: 1, 2, 3 더하기 - Kotlin[코틀린] (0) | 2023.09.21 |
[백준] 11401번: 이항 계수 3 - Kotlin[코틀린] (0) | 2023.09.18 |
[백준] 11051번: 이항 계수 2 - Kotlin[코틀린] (0) | 2023.09.17 |
[백준] 1010번: 다리 놓기 - Kotlin[코틀린] (0) | 2023.08.17 |