[백준, BOJ 11051] 이항 계수 2 (python)
Problem Solving/BOJ

[백준, BOJ 11051] 이항 계수 2 (python)

728x90

https://www.acmicpc.net/problem/11051

 

11051번: 이항 계수 2

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net


문제

자연수 N과 정수 K가 주어졌을 때 이항 계수${N \choose K}$를 10,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N K가 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ K  N)

출력

${N \choose K}$를 10,007로 나눈 나머지를 출력한다.

728x90

 

예제 입력 1

5 2

예제 출력 1

10

n, k = map(int, input().split())

# 이항 계수 구하기
num = 1
for i in range(2, n + 1):
    num *= i

for i in range(2, k + 1):
    num //= i

for i in range(2, n - k + 1):
    num //= i

ans = num % 10007
print(ans)
728x90