336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
백준알고리즘 2153번 소수 단어
문제 푸는데 그렇게 어려운 문제였다.......
방법은 조합을이용한 것 그리고 다이나믹 프로그래밍으로 문제를 풀 수 있다.
조합을 간단하게 설명하자면 2 5인 경우 5*4 / 2*1로하면 값이 나온다. 3 6 이라면 6*5*4*3*2*1 / 3*2*1 로하면 값이 나온다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); for (int i = 0; i < num; i++) { int r = scan.nextInt(); int n = scan.nextInt(); System.out.println(calculate(r,n)); } } public static BigInteger calculate(int r, int n) { BigInteger result = new BigInteger("1"); int temp = r; while(r > 0) { break; } for( ; r > 0; r--) { result = result.multiply(BigInteger.valueOf(n)); --n; } for( ; temp > 0; temp--) { result = result.divide(BigInteger.valueOf(temp)); } return result; } } |
'알고리즘 및 자료구조 > 문제' 카테고리의 다른 글
백준알고리즘 2153번 소수 단어 (0) | 2018.05.14 |
---|---|
백준알고리즘 2748번 피보나치 수2 (0) | 2018.05.14 |
백준알고리즘 2747번 피보나치 수 (0) | 2018.05.14 |
백준알고리즘 6359번 만취한 상범 (0) | 2018.05.14 |
백준알고리즘 1181번 단어 정렬 (0) | 2018.05.14 |