자연수 N과 정수 K가 주어졌을 때 이항 계수를 10,007로 나눈 나머지를 구하는 프로그램을 작성하시오.
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ K ≤ N )
이항 계수를 10,007로 나눈 나머지를 출력한다.
이항 계수 정의
파스칼의 삼각형
#include <iostream>
using namespace std;
long long d[1001][1000] = { 0, };
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
cin >> n>>k;
d[0][0] = 1;
d[1][0] = 1;
d[1][1] = 1;
for (int i = 2; i <= n; i++){
d[i][0] = 1;
for (int j = 1; j <= i; j++){
d[i][j] = (d[i - 1][j - 1] + d[i - 1][j])%10007;
}
}
cout << d[n][k];
}