본문 바로가기
Python/백준

[Python] 백준 11401 이항 계수 3

by 푸_푸 2023. 7. 2.
728x90

백준 11401 이항 계수 3
문제

자연수 과 정수 가 주어졌을 때 이항 계수

를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

 

입력

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

출력

를 1,000,000,007로 나눈 나머지를 출력한다.


제출

n,k=map(int,input().split())
p=1000000007
def d(a,b):
    if b==0:
        return 1
    if b%2:
        return (d(a,b//2)**2*a)%p
    else:
        return (d(a,b//2)**2)%p
f=[1 for _ in range(n+1)]
for i in range(2,n+1):
    f[i]=f[i-1]*i%p
print((f[n]%p)*(d(((f[n-k]*f[k])%p),p-2)%p)%p)

예제

5 2

결과

백준 11401 이항 계수 3

 

 

11401번: 이항 계수 3

자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

728x90

'Python > 백준' 카테고리의 다른 글

[Python] 백준 10830 행렬 제곱  (0) 2023.07.04
[Python] 백준 2740 행렬 곱셈  (0) 2023.07.03
[Python] 백준 1629 곱셈  (0) 2023.07.01
[Python] 백준 1780 종이의 개수  (0) 2023.06.30
[Python] 백준 1992 쿼드트리  (0) 2023.06.29

댓글