728x90

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

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

 

 

# 조건

  • 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