기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - Baekjoon/Silver

[백준] 11051번 : 이항 계수2 Silver2(실버2) - JAVA[자바]

2023. 11. 8. 10:23

[Silver II] 이항 계수 2 - 11051

문제 링크

성능 요약

메모리: 12904 KB, 시간: 108 ms

분류

조합론, 다이나믹 프로그래밍, 수학

제출 일자

2023년 11월 8일 10:19:14

문제 설명

자연수 N과 정수 K가 주어졌을 때 이항 계수 NK를 10,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ K ≤ N)

출력

(NK)를 10,007로 나눈 나머지를 출력한다.

import java.util.Scanner;

class Main{ 
    public static final int DIV = 10007;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int result = (factorial(n) * pow(factorial(m) * factorial(n-m) % DIV, DIV - 2)) % DIV;
        System.out.println(result);
    }
    private static int pow(int a, int p) {
        int ret = 1;
        while(p > 0){
            if(p%2!=0){
                ret *= a;
                p--;
                ret %= DIV;
            }
            a *= a;
            a %= DIV;
            p /= 2;
        }
        return ret;
    }
    private static int factorial(int n){
        if(n <= 1) return 1;
        return (n * factorial(n-1)) % DIV;
    }
}

'알고리즘 - Baekjoon > Silver' 카테고리의 다른 글

[백준] 16948번 : 데스 나이트 Silver1(실버1) - JAVA[자바]  (0) 2023.11.17
[백준] 1629번 : 곱셈 Silver1(실버1) - JAVA[자바]  (0) 2023.11.16
[백준] 1747번 : 소수&팰린드롬 Silver1(실버1) - JAVA[자바]  (0) 2023.11.01
[백준] 12026번 : BOJ 거리 Silver1(실버1) - JAVA[자바]  (0) 2023.10.26
[백준] 16922번 : 로마 숫자 만들기 Silver2(실버2) - JAVA[자바]  (0) 2023.10.26
    '알고리즘 - Baekjoon/Silver' 카테고리의 다른 글
    • [백준] 16948번 : 데스 나이트 Silver1(실버1) - JAVA[자바]
    • [백준] 1629번 : 곱셈 Silver1(실버1) - JAVA[자바]
    • [백준] 1747번 : 소수&팰린드롬 Silver1(실버1) - JAVA[자바]
    • [백준] 12026번 : BOJ 거리 Silver1(실버1) - JAVA[자바]
    기몽수
    기몽수

    티스토리툴바