Java/백준알고리즘
[Java] 백준알고리즘 #11050 이항 계수 1
Sehyeok20
2023. 10. 13. 18:59
반응형
먼저 이항 계수가 무엇인지 알아보자.
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();
}
}
반응형