728x90
시간 제한 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
'ALGORITHM > 수학, 기하학' 카테고리의 다른 글
[백준 2824번] 파이썬 - 최대공약수 (0) | 2024.07.15 |
---|---|
[백준 10713번] 파이썬 - 기차 여행 (0) | 2023.10.17 |
[백준 14400번] 파이썬 - 편의점 2 (0) | 2023.09.10 |
[백준 9613번] 파이썬 - GCD 합 (1) | 2023.09.03 |
[백준 17123번] 파이썬 - 배열 놀이 (0) | 2023.09.01 |