Java/백준알고리즘

[Java] 백준알고리즘 #11050 이항 계수 1

Sehyeok20 2023. 10. 13. 18:59
반응형

백준알고리즘 #11050 이항 계수

먼저 이항 계수가 무엇인지 알아보자.

출처 : 네이버 지식백과

n과 k에 대해 nCk 즉 n개의 물건에서 k개를 고르는 경우의 수를 나타낸다.

 

nCk에 대해서는 다음 글 참조

2021.03.26 - [Java/백준알고리즘] - [Java] 백준알고리즘 #1010 다리 놓기

 

[Java] 백준알고리즘 #1010 다리 놓기

서쪽의 사이트 n 개와 동쪽의 사이트 m개를 이을 다리를 놓을 때, 이 다리를 놓는 경우의 수를 구하는 문제이다. 구하는 방법은 간단하다. m개의 사이트에서 n개를 고르는 경우의 수는 m Combination n

sehyeok.tistory.com

 

nCk는

n x (n - 1) x (n - 2) x ... x (n - k) / k x (k - 1) x (k - 2) x ... x 1 로 나타낼 수 있다.

 

이를 코드로 나타내면 다음과 같다.

// 해설참조 : sehyeok.tistory.com 

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        int res = 1;
        for (int i = 1; i <= m; i++) {
            res = res * (n - i + 1) / i;
        }

        System.out.println(res);
        sc.close();
    }

}

 

반응형