https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net

이항계수의 정의

주어진 문제에서는 K가 0보다 크거나 같고, N보다 작거나 같으니까 제일 위에 경우의 수만 구해주면 된다
# BOJ11050 이항계수1
N, K = map(int, input().split())
# 1 ≤ N ≤ 10, 0 ≤ K ≤ N
if K == 0 or N == K: # 0팩토리얼 일 때
print(1)
else:
up = 1
down = 1
for i in range(K):
up *= N-i
down *= K-i
print(up // down)
0팩토리얼은 1이다!!!
0!이 나오는 경우를 예외처리해주고 풀어주면 된다.
'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 10926번 ??! C / C 문자열 입력 출력 (1) | 2022.05.01 |
|---|---|
| [BOJ / 백준] 1620번 나는야 포켓몬 마스터 이다솜 python / 파이썬 딕셔너리 /Key값으로 Value찾기 (0) | 2022.04.30 |
| [BOJ / 백준] 10250번 ACM 호텔 python / 파이썬 (0) | 2022.04.01 |
| [BOJ / 백준] 2805번 나무 자르기 python / 파이썬 이진탐색 (0) | 2022.03.26 |
| [BOJ / 백준] 10815번 숫자 카드 python / 파이썬 이진탐색 (1) | 2022.03.25 |
댓글