자바 nCr()

1 개요[ | ]

자바 nCr()
class App {
    static long nCr(int n, int r){
        r = (r < n-r) ? r : n-r;
		long ret = 1;
		for(int i=1; i<=r; i++) {
		    ret = ret * (n-i+1)/i;
		}
		return ret;
	}
	
	public static void main(String args[]){
		System.out.println(nCr(2,2));      // 1
		System.out.println(nCr(3,2));      // 3
		System.out.println(nCr(4,2));      // 6
		System.out.println(nCr(5,2));      // 10
		System.out.println(nCr(100,5));    // 75287520
		System.out.println(nCr(1000,5));   // 8250291250200
		System.out.println(nCr(10000,5));  // 832500291625002000
		System.out.println(nCr(100000,5)); // 1057310716455370528
	}
}
public class MyClass {
    static int fact(int n) {
        int res = 1;
        for(int i=2; i<=n; i++) res *= i;
        return res;
    }
	static int nCr(int n, int r){
		return fact(n)/fact(r)/fact(n-r);
	}
	public static void main(String args[]){
		System.out.println(nCr(2,1)); // 2
		System.out.println(nCr(2,2)); // 1
		System.out.println(nCr(3,2)); // 3
		System.out.println(nCr(4,2)); // 6
		System.out.println(nCr(5,2)); // 10
		System.out.println(nCr(52,5)); // java.lang.ArithmeticException: / by zero
	}
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}