자연수 N과 정수 K가 주어졌을 때 이항 계수
(N K)를 10,007로 나눈 나머지를 구하는 프로그램을 작성하시오.
자연수 N개중에서 K개를 고르는 조합의 개수를 10007로 나눈다.
이항계수 N개중 K개를 고르는 것의 수는 다음과 같다.
N!/K!(N-K)!
위 식을 그대로 파이썬의 math 모듈을 이용해 구현한다.
그 후 10007로 나눈 나머지를 출력한다.
import math
if __name__ == '__main__':
n, k = map(int, input().split())
print((math.factorial(n) // (math.factorial(k) * math.factorial(n - k))) % 10007)
통계학의 기초인 조합론을 알면 문제를 쉽게 해결할 수 있다.