728x90

백준 2553 - 마지막 팩토리얼 수

시간 제한 0.3초(추가 시간 없음), 메모리 제한 128MB

# 조건

  • N!의 값을 계산한 후에, 0이 아닌 가장 낮은 자리 수를 구하시오.
  • 예를 들어, 4! = 24이기 때문에, 0이 아닌 가장 낮은 자리 수는 4이다.
  • 또, 5!은 120이기 때문에, 0이 아닌 가장 낮은 자리 수는 2이다.

입력

  • 첫째 줄에 N이 주어진다. N은 20,000보다 작거나 같은 자연수이다.

출력

  • 첫째 줄에 N!의 0이 아닌 마지막 자리수를 출력한다.

# 접근 방법

  • N!을 math.factorial 또는 반복문을 통하여 구해준다.
  • 이후 문자열로 변경하여 뒤에서부터 탐색하며 0이 아닌 값을 출력하고 종료해준다.
import sys  
sys.stdin = open('input.txt')  
input = sys.stdin.readline  
import math  
N = int(input())  
temp = str(math.factorial(N))  
for i in range(len(temp)-1, -1, -1):  
    if temp[i] != '0':  
        print(temp[i])  
        break
728x90