이항 계수 2

LONGNEW·2021년 5월 11일
0

BOJ

목록 보기
228/333
post-thumbnail

https://www.acmicpc.net/problem/11051
시간 2초, 메모리 128MB
input :

  • N, K(1 <= N <= 1000, 0 <= K <= N)

output :

  • 이항 계수의 결과를 10007로 나눈 나머지를 출력한다.

수의 범위 자체가 크지 않기 때문에 팩토리얼 값을 for문을 통해 구한 다 해도 3000번의 연산이면 충분하다.

# import sys
#
# n, k = map(int, sys.stdin.readline().split())
# up, down_1, down_2 = 1, 1, 1
#
# for i in range(2, n + 1):
#     up *= i
#
# for i in range(2, k + 1):
#     down_1 *= i
#
# for i in range(2, n - k + 1):
#     down_2 *= i
#
# ans = up // (down_1 * down_2)
# print(ans % 10007)

import sys
from math import factorial

n, k = map(int, sys.stdin.readline().split())
ans = factorial(n) // (factorial(n - k) * factorial(k))
print(ans % 10007)

0개의 댓글