코딩테스트 준비/백준

[백준] 1676번 팩토리얼 0의 개수 - 파이썬(Python)

youjin86 2021. 8. 19. 16:26

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

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

 

문제

 

21.03.09 접근법

 

1. 팩토리얼 구하기

2. 나머지가 0이 아닐 때까지 10나누며 카운트하기

 

 

21.03.09 코드

n=int(input())
ptrial=1
while n>0:
    ptrial*=n
    n-=1

cnt=0

while ptrial%10==0:
    ptrial=ptrial//10
    cnt+=1
print(cnt)

 

21.08.19 접근법

 

1. 팩토리얼 구하기

2. 문자열로 변경

3. 맨 뒤가 0이 아닐 때까지 찾으며 카운트하기

 

 

21.08.19 코드

N=int(input())
fact=1

for i in range(2,N+1):
    fact*=i


fact=str(fact)

ans=0

for i in range(1,len(fact)):
    if fact[-i]=='0':
        ans+=1
    else:
        break
        
print(ans)