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
반응형
'Python3 > 백준 알고리즘' 카테고리의 다른 글
2022.03.06 [백준] (python 파이썬) 비밀번호 찾기 (0) | 2022.03.06 |
---|---|
2022.03.06 [백준] (python 파이썬) DSLR (0) | 2022.03.06 |
2022.03.05 [백준] (python 파이썬) 2Xn 타일링 (0) | 2022.03.05 |
2022.03.05 [백준] (python 파이썬) ATM (0) | 2022.03.05 |
2022.03.03 [백준] (python 파이썬) 경비원 (0) | 2022.03.03 |
댓글