본문 바로가기
Python3/백준 알고리즘

2022.03.05 [백준] (python 파이썬) 팩토리얼 0의 개수

by ian's coding 2022. 3. 5.
728x90
반응형

 

https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 


풀이

이 문제를 풀 때, factorial을 구하기 위해 재귀함수를 이용하니 메모리초과가 발생하여 math내장함수를 사용하여 문제를 해결하였다. 내장함수를 이용하여 n!를 구한뒤 a를 10으로 나눈 나머지가 0이면 cnt를 증가시키고 a를 업데이트해주었다.

1
2
3
4
5
6
7
8
9
10
11
12
import math
 
n=int(input())
a=math.factorial(n)
cnt=0
while True:
    if a%10==0:
        a=a//10
        cnt+=1
    else:
        break
print(cnt)
cs

 

 

 

 

728x90
반응형

댓글