연습장/백준(BOJ) 문제풀이
[백준 1676] 팩토리얼 0의 개수 with Python
Tesseractjh
2021. 5. 17. 13:14
문제 링크
https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
풀이
N = int(input())
dp = [0]*(N+1)
dp[0] = 1
for i in range(1, N+1):
dp[i] = dp[i-1]*i
num = str(dp[N])[::-1]
for i in range(len(num)):
if num[i] != "0":
print(i)
break
dp에 이전 팩토리얼을 저장하여 다음 팩토리얼을 빠르게 구하도록 하고, dp[N]의 뒤에서부터 0이 몇 개인지 세서 출력하였다.