기록을 남기자
카테고리
작성일
2023. 4. 13. 15:56
작성자
ssun_bear
반응형

문제

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

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

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

입력

첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)

출력

첫째 줄에 구한 0의 개수를 출력한다.

코드

def factorial(n):
    if n>0:
        return n*factorial(n-1)
    else: return 1

import sys
n=int(sys.stdin.readline())
cnt=0
res=factorial(n)
while True:
    if res%10==0:
        cnt+=1
        res//=10
    else: break
print(cnt)

문제 해결

팩토리얼 함수로 주어진 팩토리얼 값을 구한 후 10으로 나눠질 때마다 카운트를 세주면 된다

반응형