ALGORITM/JAVA
[BAEKJOON 백준] 2407 조합 (JAVA)
KUNDUZ
2021. 9. 10. 17:11
반응형
https://www.acmicpc.net/problem/2407
2407번: 조합
n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)
www.acmicpc.net
문제
nCm을 출력한다.
입력
n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)
출력
nCm을 출력한다.
BigInteger을 활용을 해서 조합을 해결했습니다.
BigInteger을 사용하지 않고도 할 수 있는 방법이 있지않을까 찾아봐야하는 부분 같습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
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 m=Integer.parseInt(st.nextToken());
BigInteger bigN=BigInteger.ONE;
BigInteger bigM=BigInteger.ONE;
for (int i = 0; i < m; i++) {
bigN=bigN.multiply(new BigInteger(String.valueOf(n-i)));
bigM=bigM.multiply(new BigInteger(String.valueOf(i+1)));
}
System.out.println(bigN.divide(bigM));
}
}
반응형