728x90
반응형
조합 문제이다.
단순히 조합을 계산하고 뒤에 0의 개수를 새면 시간 초과가 걸리기 때문에 효율적인 방법을 찾아야 된다.
아래의 코드가 처음에는 이해가 잘 안될수도 있다. 예시를 들어 풀다 보면 이해가 더 잘 될 것이다.
n, m = map(int, input().split())
def cnt2(n):
n2 = 0
while(n != 0):
n //= 2
n2 += n
return n2
def cnt5(n):
n5 = 0
while(n != 0):
n //= 5
n5 += n
return n5
print(min(cnt2(n)-cnt2(m)-cnt2(n-m), cnt5(n)-cnt5(m)-cnt5(n-m)))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1748번 수 이어 쓰기 1(python) (0) | 2020.02.04 |
---|---|
백준 알고리즘 2010번 플러그(python) (0) | 2020.02.04 |
백준 알고리즘 1978번 소수 찾기(python) (0) | 2020.02.04 |
백준 알고리즘 1977번 완전제곱수(python) (0) | 2020.02.04 |
백준 알고리즘 1964번 오각형, 오각형, 오각형…(python) (0) | 2020.02.04 |