https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
해석 및 팁
n과 k가 주어질때 이항계수를 구하는 공식은 n! / k!(n - k)! 이다. 하지만 결국 (n - k)!은 분자와 분모에서 소거되므로 분자와 분모에서 각각계산한후에 나누어주면 된다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int a = 1;
int b = 1;
for(int i = n; i > n - k; i--) a *= i;
for(int j = k; j > 1; j--) b *= j;
System.out.println(a/b);
}
}
'백준' 카테고리의 다른 글
백준 2163 초콜릿 자르기(Java) (0) | 2023.01.14 |
---|---|
백중 1037 약수(Java) (0) | 2023.01.14 |
백준 1934 최소공배수(Java) (0) | 2023.01.14 |
백준 2748 피보나치 수 2(Java) (0) | 2023.01.14 |
백준 2309 일곱난쟁이(Java) (0) | 2023.01.14 |