본문 바로가기
코딩 문제/백준 [ Java ]

[ 백준 11050 / Java ] 이항 계수 1

by CODESIGN 2022. 7. 22.

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

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

www.acmicpc.net

 

풀이

이항 계수 (Bionomial coefficient), 말 그래로 '두 개의 항(이항)을 전개하여 계수로 나타낸 것'이다.

이항 계수는 경우의 수를 계산할 때 N개의 서로 다른 물건 중에서 K개 물건을 선택하는 것을 N개에서 K개를 선택하는 조합이라고 한다.

즉, N개 중에서 서로 다른 K개를 고르는 조합의 수이다.

 

이항 계수의 표기법이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
 
        int n = scan.nextInt();        // 자연수 N
        int k = scan.nextInt();        // 정수 K
 
        int result = factorial(n) / (factorial(n - k) * factorial(k)); // 이항 계수 (NK)
        System.out.println(result);
    }
 
    // 팩토리얼
    public static int factorial(int n) {
        if (n <= 1)
            return 1;
        else
            return factorial(n - 1* n;
    }
}
cs

댓글