728x90
반응형
팩토리얼 결과값을 str로 변경하고 뒤에 0이 몇개 있는지 확인하면 된다.
허나 입력이 커진다면 시간초과가 뜰 것이다.
import math
n = str(math.factorial(int(input())))
l = len(n)
for i in range(l):
if n[l-i-1] != '0':
break
print(i)
뭔가 효율적인 방법이 있지 않을까해서 찾아본 결과 아래의 방식을 찾을 수 있었다.
n = int(input())
t = n
n2, n5 = 0, 0
while(t != 0):
t //= 2
n2 += t
while(n != 0):
n //= 5
n5 += n
print(min(n2, n5))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1475번 방 번호(python) (0) | 2020.01.28 |
---|---|
백준 알고리즘 1712번 손익분기점(python) (0) | 2020.01.28 |
백준 알고리즘 1652번 누울 자리를 찾아라(python) (0) | 2020.01.28 |
백준 알고리즘 1629번 곱셈(python) (0) | 2020.01.28 |
백준 알고리즘 1546번 평균(python) (0) | 2020.01.28 |