수학, 구현, 조합론
이항 계수 1 : Bronze1
https://www.acmicpc.net/problem/11050
풀이
import java.io.*;
import java.util.*;
public class Main21 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int ret = 1;
for (int i = 1; i <= N; i++) {
ret *= i;
}
for (int i = 1; i <= M; i++) {
ret /= i;
}
for (int i = 1; i <= N - M; i++) {
ret /= i;
}
bw.write(String.valueOf(ret));
bw.newLine();
bw.flush();
bw.close();
}
}
이항 계수
이항 계수(binomial coefficient)는 조합론에서 자주 사용되는 개념 중 하나이다. 이항 계수는 주어진 집합에서 원하는 개수의 원소를 선택하는 방법의 수를 나타낸다. 주로 "n 개 중에서 k 개를 선택하는 경우의 수"를 나타낼 때 사용된다.
이항 계수는 다음과 같이 표현된다.
여기서 은 팩토리얼(factorial)이며, 1부터 n까지의 모든 양의 정수를 곱한 값이다. 은 k 팩토리얼이며, (n-k)!은 n-k 팩토리얼이다.
이항 계수는 주로 조합(combination)의 경우의 수를 계산하는 데 사용되며, 이는 주어진 n개의 원소에서 k개의 원소를 순서에 상관없이 선택하는 방법의 수를 의미합니다. 이항 계수는 동적 계획법, 파스칼의 삼각형 등을 활용하여 효율적으로 계산할 수 있습니다.
문제점 : 이항 계수가 뭔지 몰랐다. ^-^;;
해결 방법 : 이항 계수에 대해 검색하여 알아보았다.
깨달은 바 : 이항 계수는 조합론에서 자주 사용되는 개념 중 하나이고, 주어진 집합에서 원하는 개수의 원소를 선택하는 방법의 수(n개의 원소에서 k개의 원소를 순서에 상관없이 선택하는 방법의 수)를 나타낸다.
'코딩테스트 > programming_JAVA' 카테고리의 다른 글
[Java] baekjoon_10866 : 덱 (1) | 2024.01.17 |
---|---|
[Java] baekjoon_11650 : 좌표 정렬하기 (3) | 2024.01.15 |
[Java] baekjoon_10814 : 나이순 정렬 (4) | 2024.01.12 |
[Java] baekjoon_2751 : 수 정렬하기 2 (2) | 2024.01.10 |
[Java] baekjoon_2798 : 블랙잭 (5) | 2024.01.09 |