백준
[백준] 11050번 : 이항 계수 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 9. 12. 14:21
728x90
반응형
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
1. 문제 설명
2. 풀이과정
해당 문제는 이항 계수 즉, 조합의 경우를 구하는 문제이다.
이항 계수의 값은 N! / K!(N - K)! 의 결과와 동일하므로 팩토리얼을 활용해 값을 구한다.
이때 결과를 정수형으로 반환하기 위해 나눗셈의 몫을 출력하도록 구현한다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- N과 K를 입력받는다. N, K = map(int, sys.stdin.readline().split())
- 팩토리얼을 구해줄 함수를 선언한다. def factorial(n)
- 만약 매개변수로 입력받은 값이 1보다 크면 if (n > 1)
- 현재 값과 이전 값의 팩토리얼 결과의 곱을 반환한다. return n * factorial(n - 1)
- 반면에 매개변수로 입력받은 값이 1 이하이면 1을 반환한다. else: return 1
- 이항 계수를 구하여 출력한다. print(factorial(N) // (factorial(K) * factorial(N - K)))
반응형
3. 소스코드
import sys
N, K = map(int, sys.stdin.readline().split())
def factorial(n):
if (n > 1):
return n * factorial(n - 1)
else:
return 1
print(factorial(N) // (factorial(K) * factorial(N - K)))
728x90
반응형