
문제를 살펴보면 nCk를 구하는 문제이다
nCk는 가장 기초적인 방식으로는 n! / (k! * (n-k)! 방식이 있고
때론 n을 k만큼 1씩 줄인값을 곱한 값을 분자, k!을 분모로 두는 방식이 존재한다
두번째 방법에 대해 예제를 통해 다시 말하자면 5 4 를 곱한 값이 분자, 2! 값이 분모가 된다
필자는 가장 기초적인 방식으로 작성하였다
이전에 정의해두었던 factorial 함수를 활용하여 코드를 작성하여 출력하도록 하였다
def factorial(num):
if num > 1:
return num * factorial(num - 1)
else:
return 1
n, k = map(int, input().split())
print(factorial(n) // (factorial(k) * factorial(n-k)))
'Baekjoon' 카테고리의 다른 글
| [Baekjoon]백준 1037 약수(브론즈 1) - Python (0) | 2024.12.07 |
|---|---|
| [Baekjoon]백준 1010 다리놓기(실버 5) - Python (0) | 2024.12.06 |
| [Baekjoon]백준 10872 팩토리얼(브론즈 3) - Python (0) | 2024.12.04 |
| [Baekjoon]백준 24511 queuestack(실버 3) - Python (0) | 2024.12.03 |
| [Baekjoon]백준 2346 풍선 터뜨리기(실버 3) - Python (0) | 2024.12.02 |