조합 0의 개수

2020. 9. 3. 23:10카테고리 없음

이번에는 nCm의 끝자리 0의 개수를 출력하는 알고리즘을 작성하여봅니다.

#n!의 5 개수 세는 함수
def five_count(n):
    answer = 0
    while n != 0:
        n = n // 5
        answer += n
    return answer

#n!의 2 개수 세는 함수
def two_count(n):
    answer = 0
    while n != 0:
        n = n // 2
        answer += n
    return answer


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

if m == 0:
    print(0)
    
else:       
    print(min(two_count(n)-two_count(m)-two_count(n-m), five_count(n)-five_count(m)-five_count(n-m)))

 처음에는 n!의 5의 갯수와 n!의 2의 갯수를 세는 함수를 각각 만들어 주고 입력할 변수를 만들어 줍니다 다음 m이 0이라면 0을 출력해주고 그렇지 않다면 계산을 하여 끝지리가 0의 갯수를 찾아주어 출력합니다