https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
![](https://blog.kakaocdn.net/dn/kZqgu/btrHSByrAm4/g6ebWuzSjC2De5do30gmw1/img.png)
풀이
이항 계수 (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 |
'코딩 문제 > 백준 [ Java ]' 카테고리의 다른 글
[ 백준 1072 / Java ] 게임 (0) | 2022.07.31 |
---|---|
[ 백준 1922 / Java ] 네트워크 연결 (0) | 2022.07.26 |
[ 백준 1735 / Java ] 분수 합 (0) | 2022.07.21 |
[ 백준 2748 / Java ] 피보나치 수 2 (0) | 2022.07.20 |
[ 백준 1806 / Java ] 부분합 (0) | 2022.07.19 |
댓글