Algorithm

[백준-2407번/Java] 조합

1984 2022. 11. 26. 22:29

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

 

2407번: 조합

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

www.acmicpc.net

* BigInteger로 구현

* 조합 공식

import java.io.*;
import java.util.*;
import java.math.*;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner in = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		int N = in.nextInt();
		int M = in.nextInt();

		System.out.println(factorial(N).divide(factorial(M)).divide(factorial(N-M)));

	}

	public static BigInteger factorial(int num) {
		if (num == 1)
			return new BigInteger("1");
		return new BigInteger(String.valueOf(num)).multiply(factorial(num - 1));
	}

}
728x90