🌞코딩테스트/🧡백준

[11401] 이항계수3

hyerimmy 2021. 8. 5. 22:01

Date | 2021.08.05

https://www.acmicpc.net/problem/11401

 문제
자연수 N과 정수 K가 주어졌을 때 이항 계수 (N,K)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오.
💬 입력
첫째 줄에 N K가 주어진다. (1 ≤ N ≤ 4,000,000, 0 ≤ K  N)
💥 출력
 (N,K)를 1,000,000,007로 나눈 나머지를 출력한다.

 

 


 

👩‍🔧 코드 #1 - 시간초과

### 백준 11401 이항계수3 ###
### https://www.acmicpc.net/problem/11401 ###

# 입력받기
n, k = map(int,input().split())

# 팩토리얼! 함수 정의
def f(num):
  fac = 1
  for i in range(1,num+1):
    fac *= i
  return fac

# 이항계수(n,k) 계산하기
result = f(n)/(f(k)*f(n-k))

# 나머지 계산
print(int(result%1000000007))

# 시간 초과