문제

n개의 원소 중에서 k개를 순서 없이 선택하는 방법의 수는 몇 가지 일까?

입력

입력은 하나 또는 그 이상의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 2^31-1 을 넘지 않는 두 자연수 n(n ≥ 1)과 k(0 ≤ k ≤n)로 이루어져 있다.

입력의 마지막 줄에는 0이 두 개 주어진다.

출력

각 테스트 케이스에 대해서, 정답을 출력한다. 항상 정답이 231보다 작은 경우만 입력으로 주어진다.

예제 입력 1

4 2
10 5
49 6
0 0

예제 출력 1

6
252
13983816

더보기

Solution

#include<stdio.h>

int main(void)
{
	int n, k;

	scanf("%d %d", &n, &k);

	while(n!=0 || k!=0)
	{
		long double c=1.0;

		k=k>n-k?n-k:k;
		for(int i=0;i<k;i++)
			c*=(long double)(n-i)/(i+1);

		printf("%.0Lf\n", c);
		scanf("%d %d", &n, &k);
	}

	return 0;
}
728x90

+ Recent posts