[D3] [Professional] 조합 - 5607
성능 요약
메모리: 21,308 KB, 시간: 281 ms, 코드길이: 1,009 Bytes
제출 일자
2023-11-08 11:12
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.Scanner;
class Solution{
static final long div = 1234567891L;
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T= sc.nextInt();
for(int tc = 1; tc <= T; tc++) {
long n = sc.nextInt();
long r = sc.nextInt();
long numer = factorial(n);
long denom = factorial(r) * factorial(n-r) % div;
long result = numer * pow(denom, div - 2) % div;
System.out.println("#" + tc + " " + result);
}
}
private static long pow(long base, long expo){
long ret = 1L;
while(expo > 0){
if(expo % 2 != 0){
ret = (ret * base) % div;
}
base = (base * base) % div;
expo /= 2;
}
return ret;
}
private static long factorial(long n){
long fac = 1L;
for(long i = 1; i <= n; i++){
fac = (fac * i) % div;
}
return fac;
}
}
'알고리즘 - SWEA > D3' 카테고리의 다른 글
[SW expert Academy] SWEA 3282번 0/1 Knapsack 자바(Java) (0) | 2023.11.09 |
---|---|
[SW expert Academy] SWEA 7985번 Rooted Binary Tree 재구성 자바(Java) (0) | 2023.11.09 |
[SW expert Academy] SWEA 4676번 늘어지는 소리 만들기 자바(Java) (0) | 2023.11.08 |
[SW expert Academy] SWEA 1240번 단순 2진 암호코드 자바(Java) (0) | 2023.11.08 |
[SW expert Academy] SWEA 4615번 재미있는 오셀로 게임 자바(Java) (0) | 2023.11.07 |