기록하는삶
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11401번 _ 이항 계수 3 본문
백준(Python)/수학(Mathematics)
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11401번 _ 이항 계수 3
mingchin 2022. 4. 12. 02:55728x90
반응형
https://www.acmicpc.net/problem/11401
[아이디어]
1) 일반적인 접근으로는 시간초과가 난다.
2) mod만 구하면 된다는 것에 착안하여 페르마 소정리를 활용, 각 분모 분자에 대한 mod만 구한다.
3) pow() 함수를 이용해 modulo 역을 쉽게 구할 수 있다.
m,n=map(int,input().split())
mod = 1000000007
a=1;b=1
for i in range(n):
a*=m-i
a%=mod
for i in range(1,n+1):
b*=i
b%=mod
b = pow(b,-1,mod)
print((a*b)%mod)
728x90
반응형
'백준(Python) > 수학(Mathematics)' 카테고리의 다른 글
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 15824번 _ 너 봄에는 캡사이신이 맛있단다 (0) | 2022.04.19 |
---|---|
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11402번 _ 이항 계수 4 (0) | 2022.04.14 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 15712번 _ 등비수열 (0) | 2022.04.10 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 7894번 _ 큰 수 (0) | 2022.04.08 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 2487번 _ 섞기 수열 (0) | 2022.04.07 |