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

 

조합의 수에서 뒷자리 0의 개수를 구하는 문제입니다.

뒤에 0의 개수는, 소인수 분해했을 때 2와 5의 최소 개수입니다.

 

n, m =map(int,input().split())

def count_num(n,k):
    count=0
    while n:
        n //=k
        count += n
    return count

five_num =count_num(n,5) - count_num(m,5) - count_num(n-m,5)
two_num =count_num(n,2) - count_num(m,2) - count_num(n-m,2)
print(min(five_num, two_num))

+ Recent posts