728x90
https://www.acmicpc.net/problem/1676
# 조건
- N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성
- 0<=N<=500
# 접근 방법
- 단순하게 num을 +1 씩 늘려주며 n!을 구해준다.
- 이후 저장되어있는 값을 문자열로 바꾸어주어 순회할 수 있게 만들어주고, 뒤에서 부터 읽으며 원하는 값을 구해준다.
- 또한 파이썬 math 모듈의 factorial 함수를 이용해줄 수도 있다.
N = int(input())
cnt = 0
result = 1
num = 1
while num <= N:
result *= num
num+=1
for i in str(result)[::-1]:
if i != '0':
break
else:
cnt +=1
print(cnt)
# 파이썬 math 모듈 이용
import math
N = int(input())
cnt = 0
a = math.factorial(10)
for i in str(a)[::-1]:
if i != '0':
break
else:
cnt +=1
print(cnt)
728x90
'ALGORITHM > 수학, 기하학' 카테고리의 다른 글
[백준 1002번] 파이썬 - 터렛 (0) | 2022.10.02 |
---|---|
[백준 20206] 파이썬 - 푸앙이가 길을 건너간 이유 (0) | 2022.10.02 |
[백준 2108] 파이썬 - 통계학 (1) | 2022.09.16 |
[SWEA 1486] 파이썬 - 장훈이의 높은 선반 (1) | 2022.09.16 |
[백준 11729번] 파이썬 - 하노이 탑 이동순서 (0) | 2022.09.06 |