알고리즘/백준 문제풀이
백준 1010번, 언어 : C99
ya_ya
2020. 12. 24. 21:29
반응형
#include<stdio.h>
long long fact(int a);
int combination(int n, int r);
int main()
{
int T = 0, N = 0, M = 0, val = 0;
scanf("%d", &T);
for (int i = 0; i < T; i++)
{
scanf("%d %d", &N,&M);
val = combination(M, N);
printf("%d\n", val);
}
return 0;
}
int combination(int n, int r)// 5,2
{
long long val=1;
if ((n / 2) < r) r = n - r;
for (int i = 0; i < r; i++)
{
val= val*(n - i);
}
val = val / fact(r);
return (int)val;
}
long long fact(int a)
{
long long val = 1;
for (int i = 1; i < a + 1; i++)
{
val *= i;
}
return val;
}
반응형