문제 링크: https://www.acmicpc.net/problem/2407

 

2407번: 조합

n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)

www.acmicpc.net

▶ 문제

단순히 조합을 구하는 것이지만 5<= n<=100 5<=m<=100 m<=n 범위가 제한됐습니다. 단순히 int, long으로 할 경우 범위가 초과되므로 BigInteger class를 사용하면 됩니다.

 

import java.math.BigInteger;
import java.io.*;


public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String []s = br.readLine().split(" ");
        int n= Integer.parseInt(s[0]);
        int m= Integer.parseInt(s[1]);

        BigInteger n1 = BigInteger.ONE;
        BigInteger n2 = BigInteger.ONE;
        for(int i=0; i<m; i++){
            n1 = n1.multiply(new BigInteger(String.valueOf(n-i)));
            n2 = n2.multiply(new BigInteger(String.valueOf(i+1)));
        }

        BigInteger answer = n1.divide(n2);

        System.out.println(answer.toString());
    }
}

 

'Alogorithm' 카테고리의 다른 글

백준 2015 [자바] java 수들의 합4  (0) 2022.01.20
백준 JAVA 9613 GCD 합  (0) 2021.12.31
백준 JAVA 9342번 염색체  (0) 2021.12.21
백준 JAVA 9655번 돌게임  (0) 2021.12.07
백준 JAVA 1343번 폴리오미노  (0) 2021.12.02