728x90
문제
nCm을 출력한다.
입력
n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)
출력
nCm을 출력한다.
풀이
코드 자체는 간단하게 풀 수 있지만, 입력 숫자가 크기 때문에 long도 넘어서기 때문에 BigInteger를 사용해야 한다
코드
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class S3_2407_조합 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
m = Math.min(n-m, m);
BigInteger ans = BigInteger.ONE;
for (int i = 1; i <= m; i++) {
ans = ans.multiply(new BigInteger(String.valueOf(n - i + 1))).divide(new BigInteger(String.valueOf(i)));
}
System.out.println(ans);
}
}
결과
#자바 #java #boj #백준 #알고리즘
728x90
'알고리즘 > BOJ' 카테고리의 다른 글
[JAVA][BOJ][S2] 16953. A->B (0) | 2023.01.04 |
---|---|
[JAVA][BOJ][S1] 9465. 스티커 (0) | 2023.01.03 |
[JAVA][BOJ][S2] 11053. 가장 긴 증가하는 부분 수열 (1) | 2022.12.17 |
[JAVA][BOJ][S2] 1541. 잃어버린 괄호 (0) | 2022.12.16 |
[JAVA][BOJ][S2] 11060. 점프 점프 (0) | 2022.12.15 |