반응형
문제
https://www.acmicpc.net/problem/2004
코드
#팩토리얼로 푸면 메모리제한
#10의 배수를 잘 활용 (2개수, 5개수중 적은것이 10의 개수)
import sys
def countnum(N, num):
count=0
div=num
while(N>=div):
count += (N//div)
div*=num
return count
n,m=map(int, sys.stdin.readline().split())
print(min(countnum(n,5)-countnum(m,5)-countnum(n-m,5),countnum(n,2)-countnum(m,2)-countnum(n-m,2)))
문제 해결
팩토리얼로 조합을 일일히 구하면 메모리 제한이 걸려서
10의 배수가 2와 5의 배수임을 이용해서 2와 5의 개수중 적은 것이 10의 개수라고 이용하여 코드를 작성했다.
반응형
'Problem Solving > 백준' 카테고리의 다른 글
[백준] 2023번: 신기한 소수 - [Python/파이썬] (1) | 2023.04.15 |
---|---|
[백준] 2011번: 암호코드 - [Python/파이썬] (0) | 2023.04.15 |
[백준] 2003번: 수들의 합2 - [Python/파이썬] (0) | 2023.04.14 |
[백준] 1991번: 트리 순회 - [Python/파이썬] (0) | 2023.04.14 |
[백준] 1987번: 알파벳 - [Python/파이썬] (1) | 2023.04.14 |