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

 

11051번: 이항 계수 2

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

www.acmicpc.net

문제

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

입력

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

출력
(N,K)를 10,007로 나눈 나머지를 출력한다.

예제 입력 1 
5 2
예제 출력 1 
10
#include <iostream>

using namespace std;

int T, N, K;
long long num[31][31];
int main() {
	freopen("input.txt", "r", stdin);
	for (int i = 0; i <= 30; i++)
	{
		for (int j = 0; j <= 30; j++)
		{
			if (i == j || j == 0) {
				num[i][j] = 1;
				continue;
			}
			num[i][j] = (num[i - 1][j] + num[i - 1][j - 1]);
		}
	}
	cin >> T;
	while (T--) {
		cin >> N >> K;
		cout << num[K][N]<<"\n";
	}

	return 0;
}

'개발자 > algorithm' 카테고리의 다른 글

백준 5568번 : 카드놓기 (c++)  (0) 2020.08.17
백준 1256번 : 사전 (c++)  (0) 2020.08.17
백준 3020번 : 개똥벌레 (c++)  (0) 2020.08.17
백준 1202번 : 보석 도둑 (c++)  (0) 2020.08.17
백준 1927번 : 최소 힙 (c++)  (0) 2020.08.17

+ Recent posts