윤굥굥
yg323
윤굥굥
전체 방문자
오늘
어제
  • 굥굥 DEV
    • Computer Science
      • 자료구조 및 알고리즘
      • 운영체제
      • 네트워크
      • 데이터베이스
    • Programming Language
      • Java
      • Kotlin
    • Android
      • with Kotlin
    • Algorithm
      • with Kotlin
    • 하나씩 습득하는 중

블로그 메뉴

  • ↓백준 모아보기 ↓
  • 💚 플레티넘 문제 모아보기
  • 💛 골드 문제 모아보기
  • 🤍 실버 문제 모아보기
  • 🤎 브론즈 문제 모아보기

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
윤굥굥

yg323

Algorithm/with Kotlin

[백준][코틀린] 11050 이항 계수 1

2022. 1. 27. 11:31

문제 내용

문제

자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

출력

 \(\binom{N}{K}\)를 출력한다.

예제 입력 예제 출력
5 2 10

 

문제 풀이

이항 계수 관련 설명은 (https://ko.wikipedia.org/wiki/이항_계수)를 참고하는 것이 좋을 것 같다! 아니면 다른 블로그에도 설명이 잘되어있다.

n\(C\)k를 구하면 되는데, 정석대로 구하려면 \(\frac{N!}{K!(N-K)!}\) 로 계산해야겠지만 고등학교때 손계산 당시 자주 사용했던 방법으로 풀어보았다. 예를 들어 5\(C\)2 일때는 \(\frac{5*4}{2*1}\)로 계산하는 방식이다. 중복 되는 부분을 약분하고 나면 해당 부분만 남게 된다~

</>̆̈ 코드

fun main() {
    val (n, k) = readLine()!!.split(" ").map { it.toInt() }
    var answer = 1
    repeat(k) { answer = answer * (n-it) / (it+1)}
    print(answer)
}

링크

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

저작자표시 비영리 변경금지 (새창열림)
    'Algorithm/with Kotlin' 카테고리의 다른 글
    • [백준][코틀린] 1181 단어 정렬
    • [백준][코틀린] 1260 DFS와 BFS
    • [백준][코틀린] 1259 팰린드롬수
    • [백준][코틀린] 2231 분해합
    윤굥굥
    윤굥굥

    티스토리툴바