반응형
문제
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으로 나눠질 때마다 카운트를 세주면 된다
반응형
'Problem Solving > 백준' 카테고리의 다른 글
[백준] 1699번: 제곱수의 합 - [Python/파이썬] (0) | 2023.04.13 |
---|---|
[백준] 1697번: 숨바꼭질 - [Python/파이썬] (0) | 2023.04.13 |
[백준] 1655번 : 가운데를 말해요 - [Python/파이썬] (0) | 2023.04.13 |
[백준] 1654번: 랜선자르기 - [Python/파이썬] (0) | 2023.04.13 |
[백준] 1629번: 곱셈 - [Python/파이썬] (0) | 2023.04.13 |