

정석적인 풀이인 위 풀이로 재귀함수를 이용하여 해결하였다.
n, r = map(int, input().split())
def fact(n: int):
if n > 0:
return n * fact(n - 1)
elif n == 0:
return 1
print(fact(n) // (fact(n-r) * fact(r)))

n, r = map(int, input().split())
a = 1
b = 1
# -1은 역방향을 의미
for i in range(n, n - r, -1):
a *= i
# r + 1까지인 이유는 1<= i < r + 1 이기 때문.
for i in range(1, r + 1):
b *= i
print(a // b)
이항 계수의 성질을 이용하여 풀이를 간단히 하여 풀 수 있다.