기록하는삶
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11402번 _ 이항 계수 4 본문
백준(Python)/수학(Mathematics)
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11402번 _ 이항 계수 4
mingchin 2022. 4. 14. 01:44728x90
반응형
https://www.acmicpc.net/problem/11402
11402번: 이항 계수 4
첫째 줄에 \(N\), \(K\)와 \(M\)이 주어진다. (1 ≤ \(N\) ≤ 1018, 0 ≤ \(K\) ≤ \(N\), 2 ≤ \(M\) ≤ 2,000, M은 소수)
www.acmicpc.net
[아이디어]
1) 뤼카의 정리를 활용한다.
p가 소수로 한정된 상황이기 때문에, n과 k를 뒤에서부터 p진수로 표현하며 각 숫자에 대해 조합을 구해 곱하되, 중간에 m,n,조합의 곱(x) 중 하나라도 0이 되는 순간 반복문을 탈출하도록 했다.
import math
n,m,d=map(int,input().split())
x=1
while n or m:
x=x*math.comb(n%d,m%d)%d
if x==0:break
n//=d
m//=d
print(x)
코드가 꽤 짧아서 숏코딩을 만들어봤다.
import math
n,m,d=map(int,input().split())
x=1
while n*m*x:
x=x*math.comb(n%d,m%d)%d
n//=d;m//=d
print(x)
728x90
반응형
'백준(Python) > 수학(Mathematics)' 카테고리의 다른 글
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 17371번 _ 이사 (0) | 2022.04.21 |
---|---|
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 15824번 _ 너 봄에는 캡사이신이 맛있단다 (0) | 2022.04.19 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 11401번 _ 이항 계수 3 (0) | 2022.04.12 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 15712번 _ 등비수열 (0) | 2022.04.10 |
[코딩 테스트 연습(파이썬/Python)] 백준(BOJ) 7894번 _ 큰 수 (0) | 2022.04.08 |