카테고리 없음

[알고리즘]백준 1676번: 팩토리얼 0의 갯수

Im_light.J 2023. 2. 9. 03:01
728x90

알고리즘 유형: 수학

 

문제

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

입력

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

출력

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

 

풀이


파이썬의 경우 arr[::-1]을 통해 배열을 뒤집을 수 있습니다. 

이를 이용해서 배열의 뒤에서부터 0인지 확인하고 맞으면 cnt를 더해주고 아니면 반복문을 탈출합니다 

import sys 
N =int(sys.stdin.readline().strip())
num =1
for i in range(1,N+1):
    num =num*i
cnt=0
for i in str(num)[::-1]:
    if i =="0":
        cnt+=1
    else:
        break
print(cnt)
728x90