- 조합을 함수로 구현하여 문제를 해결할 수 있었다.
import sys
input = sys.stdin.readline
def nCk(N, K):
# nC0의 값은 1
if K == 0:
return 1
# ex. 9C7 = 9C2로 바꿀 수 있는데 계산의 편리함을 위해 다음과 같은 swap과정을 수행
if K > N - K:
K = N - K
N_val = 1
K_val = 1
for i in range(K):
# N_val = N!, K_val = K!
N_val *= (N-i)
K_val *= (K-i)
return N_val // K_val
while True:
A, B = map(int, input().strip().split())
if A == 0 and B == 0:
break
print(nCk(A, B))