[백준] #2004 조합 0의 개수 python

2023. 1. 5. 06:00

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

 

2004번: 조합 0의 개수

첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다.

www.acmicpc.net

 

 

📕 설명 📕

직접 구하면 시간초과가 발생한다.

 

2와 5의 개수를 구하여 더 작은 쪽의 개수가 10의 개수이다.

 

🧑🏻‍💻 나의 풀이 🧑🏻‍💻

N, M = map(int, input().split())

def cnt(N, divide):
    count = 0
    while N:
        N //= divide
        count += N
    return count

N_5_cnt = cnt(N,5)
M_5_cnt = cnt(M,5)
NM_5_cnt = cnt(N-M,5)

N_2_cnt = cnt(N,2)
M_2_cnt = cnt(M,2)
NM_2_cnt = cnt(N-M,2)

cnt_5 = N_5_cnt - M_5_cnt - NM_5_cnt
cnt_2 = N_2_cnt - M_2_cnt - NM_2_cnt

print(min(cnt_2, cnt_5))

 

BELATED ARTICLES

more