[백준 11050]이항 계수 1

2023. 4. 1. 23:18자료구조 및 알고리즘/백준

728x90

문제 링크) https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

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

www.acmicpc.net

 

관련 개념) 팩토리얼 재귀/이항계수/DP

재귀를 이용한 팩토리얼 예제) https://blockdmask.tistory.com/321

 

[C언어/C++] 팩토리얼 재귀, 반복문 구하기 (factorial 함수)

안녕하세요. BlockDMask 입니다.오늘은 재귀와 반복문을 이용한 팩토리얼(factorial) 함수를 구현해 볼것입니다. 1. 팩토리얼이란? (factorial?)2. 반복문을 이용한 팩토리얼 (for-loop factorial)3. 재귀함수를

blockdmask.tistory.com

 

DP로 이항계수 풀기) https://rh-tn.tistory.com/32

 

[알고리즘] DP - 이항계수 (Binomial coefficient)

목차 1. 이항계수의 정의 2. 이항계수 점화식 3. 파스칼의 삼각형 4. 이항계수 구현 정의 이항계수는 이항식을 이항정리로 전개했을 때 각 항의 계수를 나타냅니다. 이항식 $(x + y)^2$ 를 전개한 결

rh-tn.tistory.com

 

정답 코드

#include <iostream>

using namespace std;
int factorial(int num){
    if (num<=1) return 1;

    return num*factorial(num-1);
}

int main(void){
    int n;
    int k;

    cin>>n>>k;

    if(k==0 || k==n){
    cout<<1;
    return 0;
    }

    int a=factorial(n);
    int b=factorial(k);
    int c=factorial(n-k);

    if(k!=0 && k!=n){
        cout<<a/(b*c);
        return 0;
    }


}
728x90