-
[Python] 백준 11050 이항 계수 1Python_알고리즘 2021. 7. 22. 18:14
문제 바로가기
문제분석
# 자연수 n과 정수 k가 주어졌을 때, 이항계수를 구하는 프로그램 작성
# 이항계수는 nCk = n! / (k!(n-k)!)
# 예제1의 이항계수를 구하려면 5! / (2!(5-2)! 의 결과값이다.
# 팩토리얼 함수를 이용해 풀 수 있다.
문제풀이
n, k = map(int, input().split()) def fac(n): # 팩토리얼 함수 if n <= 1: return 1 return n * fac(n-1) print(fac(n)//(fac(n-k) * fac(k)))
# 자연수 n과 정수 k를 입력값으로 받는다.(공백을 기준으로 split해주고 map함수로 전부 정수형으로 바꾼다.)
# 팩토리얼 함수를 정의하고 n이 1보다 작거나 같다면 값은 항상 1이므로 바로 1을 반환하고
# 그렇지 않다면 자연수 n에 함수를 재귀함수로 사용해 팩토리얼을 구현한다.
# 이항계수를 구하는 식을 빌려 출력해준다.
'Python_알고리즘' 카테고리의 다른 글
[Python] 백준 4949 균형잡힌 세상 (0) 2021.07.24 [Python] 백준 1010 다리 놓기 (0) 2021.07.24 [Python] 백준 1934 최소공배수 (0) 2021.07.22 [Python] 백준 9012 괄호 (0) 2021.07.21 [Python] 백준 10773 제로 (0) 2021.07.20