https://www.acmicpc.net/problem/11050
코드 (C)
#include <stdio.h>
int factorial(int n)
{
int result = 1;
for (int i = 2; i <= n; i++) result *= i;
return result;
}
int main()
{
int n, m;
scanf("%d %d", &n, &m);
printf("%d", factorial(n) / factorial(m)/ factorial(n-m));
return 0;
}
코드 (C++)
#include <iostream>
using namespace std;
int factorial(int n)
{
int result = 1;
for (int i = n; i > 0; i--) result *= i;
return result;
}
int main()
{
int n, m;
cin >> n >> m;
cout << factorial(n) / factorial(m) / factorial(n - m);
return 0;
}
코드설명
이항계수는 조합의 공식으로 구할 수 있다. 따라서 factorial이라는 함수를 선언해서 인수로 들어온 n에 대해서 n!을 반환한다. 입력으로 n과 m을 입력받은 뒤n! / ((n-m)!*(m!))을 출력한다.
느낀 점
조합의 공식을 이용해서 바로 풀었다.
'PS (C, C++)' 카테고리의 다른 글
[백준/C & C++] 1302 베스트셀러 (0) | 2022.11.05 |
---|---|
[백준/C & C++] 1181 단어 정렬 (0) | 2022.10.30 |
[백준/C & C++] 2914 저작권 (2) | 2022.10.04 |
[백준/C & C++] 2798 블랙잭 (2) | 2022.10.04 |
[백준/C & C++] 5354 J박스 (0) | 2022.10.04 |