본문 바로가기
Algorithm/백준 알고리즘

BOJ(11050) - Kotlin

by 클리마 2022. 5. 31.
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