✏️ 문제풀이/백준
[백준/Java] 11050번 :: 이항 계수 1
bono-hye
2024. 6. 25. 00:09
| 문제
자연수 𝑁과 정수 𝐾가 주어졌을 때 이항 계수를 구하는 프로그램을 작성하시오.
| 입력
첫째 줄에 𝑁과 𝐾가 주어진다. (1 ≤ 𝑁 ≤ 10, 0 ≤ 𝐾 ≤ 𝑁)
| 출력
이항 계수를 출력한다.
| 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
System.out.println(binomial(N, K));
}
public static int binomial(int N, int K) {
return factorial(N) / (factorial(N-K) * factorial(K));
}
public static int factorial(int X) {
if(X==0 || X==1)
return 1;
else
return X*factorial(X-1);
}
}
| 정리
이항 계수를 풀이하는 식을 그대로 구현하고 재귀함수를 활용했다.
이항 계수 구하는 식 = K! / {(N-K)! * K!}