반응형
문제
자연수 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)))
반응형
'알고리즘 연습 > 정수론 및 조합론' 카테고리의 다른 글
[🥈5 / 백준 1010 / 파이썬] 다리 놓기 (0) | 2021.06.23 |
---|---|
[🥈1 / 백준 11051 / 파이썬] 이항 계수 2 (0) | 2021.06.23 |
[🥈3 / 백준 3036 / 파이썬] 링 (0) | 2021.06.23 |
[🥇5 / 백준 2981 / 파이썬] 검문 (0) | 2021.06.23 |
[🥈5 / 백준 1934 / 파이썬] 최소공배수 (유클리드 알고리즘) (0) | 2021.06.21 |