알고리즘 연습/정수론 및 조합론

[🥉1 / 백준 11050 / 파이썬] 이항 계수 1

김세진 2021. 6. 23. 18:55
반응형

 

 

11050번: 이항 계수 1

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

www.acmicpc.net

 

문제

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

입력

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

출력

 (NK)를 출력한다.

 

예제 입력

5 2

예제 출력

10

 

풀이

 

 

위와 같은 식을 코드로 작성하면 되는 문제이다.

 

팩토리얼을 재귀로 작성해도 좋지만, 굳이 for문 대신 사용할 필요는 없다.

 

성능을 감안하여 for문으로 작성해주자.

 

n, k = map(int,input().split())

def factorial(num):
    result = 1
    for i in range(2, num+1):
        result *= i
    return result

print(factorial(n) // (factorial(n-k) * factorial(k)))
반응형