ALGORITHM
백준 11050 이항 계수 1 (Java)
공부하는_다온
2023. 3. 18. 22:22
1. 문제 링크
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
2. 문제 및 입출력예제
3. 문제 풀이
이항계수를 구하는 공식은 n! / (k! * (n-k)!)이다.
그래서 분자와 분모에 공통되는 부분은 계산하지 않기 위해 N-K 값을 이용했다.
N-K와 K 값 중 큰 값을 max로 나머지를 min으로 두고 풀었다.
N부터 max까지 곱하고, min부터 1까지 나눈 값을 출력했다.
4. 코드
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
int result = 1;
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
int num = N-K;
int max = Math.max(num, K);
int min = Math.min(num, K);
for(int i=N;i>max;i--) {
result *= i;
}
for(int i=min; i>0;i--) {
result /= i;
}
System.out.println(result);
}
}