반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 1676번 팩토리얼 0의 개수 파이썬(Python)
1) 문제번호 : 1676번
2) 문제 출처
https://www.acmicpc.net/problem/1676
2. 문제
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
3. 제약사항
4. 입력
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
5. 출력
첫째 줄에 구한 0의 개수를 출력한다.
6. 풀이
- 맨 처음에는 이해하기 힘들었다. 값을 곱했을 때, 뒷자리가 0이 나오는 경우는 2를 곱했을 때, 5를 곱했을 때, 10을 곱했을 때다. 즉, 5를 곱하면 0의 개수를 구할 수 있다.
- 예를 들어, 5!은 1X2X3X4X5 = 120인데, 5가 1개가 있어 0이 1개 있다.
- 10!은 1X2X3X4X5X6X7X8X9X10이 있는데, 5가 2개가 있다. 그냥 5 1개와 10은 2X5이므로, 5가 2개다.
- 그래서, 10!은 2개가 된다.
- 따라서, 5로 나눠지는 몫을 더해주면 된다.
7. 소스 코드
import sys
input=sys.stdin.readline
#숫자 N
N = int(input())
# 0의 개수
count = 0
#N이 5 이상이면 while문 돌려
while N >= 5 :
#5로 나눈 몫은 0의 개수가 되고,
count += N//5
#5가 2번있는 것은 2개 증가를 위해
N //= 5
print(count)
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 11051번 이항 계수 2 파이썬(Python) (0) | 2021.06.05 |
---|---|
[백준 알고리즘] 백준 11050번 이항 계수 1 파이썬(Python) (0) | 2021.06.05 |
[백준 알고리즘] 백준 10814번 나이순 정렬 파이썬(Python) (0) | 2021.06.05 |
[백준 알고리즘] 백준 14916번 거스름돈 파이썬(Python) (0) | 2021.06.05 |
[백준 알고리즘] 백준 1748번 수 이어 쓰기 1 파이썬(Python) (0) | 2021.06.04 |
[백준 알고리즘] 백준 1453번 피시방 알바 파이썬(Python) (0) | 2021.06.02 |
[백준 알고리즘] 백준 1100번 하얀 칸 파이썬(Python) (0) | 2021.06.02 |
[백준 알고리즘] 백준 1247번 부호 파이썬(Python) (0) | 2021.06.02 |
최근댓글