728x90
문제
자연수 과 정수 가 주어졌을 때 이항 계수 를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 과 가 주어진다. (1 ≤ ≤ 10, 0 ≤ ≤ )
출력
를 출력한다.
나의 접근방법
이항계수가 아예 생각나지 않아서 구글링을 했다. 이항계수의 공식은 \(\frac{n!}{r!(n-r)!}\)이였다. 공식에서 팩토리얼을 많이 사용하기 때문에 팩토리얼 함수를 만들고 공식을 그대로 대입시켜 풀었다.
코드
/* 이항 계수 1 */
import java.util.Scanner
fun main() = with(Scanner(System.`in`)) {
val n = nextInt()
val r = nextInt()
print(factorial(n) / (factorial(r) * factorial(n-r)))
}
fun factorial(x: Int): Int {
if (x <= 1) {
return 1
}
return x * factorial(x-1)
}
728x90
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
BOJ(1436) - Kotlin (0) | 2022.06.03 |
---|---|
BOJ(1181) - Kotlin (0) | 2022.06.02 |
BOJ(1008) - Kotlin (0) | 2022.05.29 |
BOJ(2869) - Kotlin (0) | 2022.05.28 |
BOJ(2839) - Kotlin (0) | 2022.05.27 |