#823
Silver II
이항 계수 2
시간 제한
1s
메모리 제한
512MB
제출
1
정답
1
맞힌 사람
1
정답 비율
100.0%

문제

음이 아닌 정수 nn, rr이 주어질 때 이항 계수 nCr_{n}C_{r}의 값을 출력해보자.

수가 매우 커질 수 있으므로 소수 10000000071\,000\,000\,007로 나눈 나머지를 출력하자.

입력

첫째 줄에 n,r(0rn1000)n, r(0\le r \le n \le 1\,000) 이 주어진다.

출력

nCr_{n}C_{r}의 값을 10000000071\,000\,000\,007로 나눈 나머지를 출력한다.

예제 입력 1

1000 500

예제 출력 1

159835829

힌트

모듈러 연산의 분배법칙을 활용하여 연산 속도를 향상시킬 수 있다. 단, 모듈러 연산에서 나눗셈의 분배법칙은 성립하지 않는다.

(a±b) mod n=((a mod n)±(b mod n)) mod n(a \pm b)\ mod\ n = ((a\ mod\ n) \pm (b\ mod\ n))\ mod\ n (a×b) mod n=((a mod n)×(b mod n)) mod n(a \times b)\ mod\ n = ((a\ mod\ n) \times (b\ mod\ n))\ mod\ n
문제를 만든 사람
안우진
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
5618🥇
조서현
Python8ms8360KB173B
난이도 투표
Silver II2명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
5618
맞았습니다
Python8ms8360KB173B2026. 04. 27. 11:05