Scroll indicator done
728x90

https://www.acmicpc.net/problem/2407

 

2407번: 조합

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

www.acmicpc.net

 

 

코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;

// 처음에 long 으로 해서 틀렸다. 틀린 케이스가 있겠다 싶어
// 100 50 을 조합 계산기로 돌린 값이랑 계산해보니 틀리더라.
// long 보다 더 큰 자료형을 생각했다. BigInteger 는 알았는데 계산 방식은 찾아봤다.
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());

        if (n == m) {
            System.out.println(1);
            return;
        }

        m = Math.min(m, n - m);

        BigInteger result = BigInteger.valueOf(1);
        for (int i = 0; i < m; i++) {
            result = result.multiply(BigInteger.valueOf(n-i));
            result = result.divide(BigInteger.valueOf(i+1));
        }

        System.out.println(result);
    }
}

728x90

'BAEKJOON > Java' 카테고리의 다른 글

[B2156][포도주 시식][java]  (0) 2023.10.08
[B1912][연속합][java]  (0) 2023.10.08
[B11726][2×n 타일링][java]  (0) 2023.10.08
[B1915][가장 큰 정사각형][java]  (0) 2023.10.08
[B10844][쉬운 계단 수][java]  (0) 2023.10.07