코딩테스트/Python
[Python] 백준 #3474 - 교수가 된 현우
yo~og
2022. 5. 16. 02:07
문제
https://www.acmicpc.net/problem/3474
3474번: 교수가 된 현우
첫째 줄에 테스트 케이스의 개수 T가 주어지고, 이어서 T개의 줄에 정수 N이 주어진다(1 <= N <= 1000000000).
www.acmicpc.net
풀이
import sys
input = sys.stdin.readline
n = int(input())
for _ in range(n):
x = int(input())
cnt=0
i=5
while i<=x: # 5가 몇개가 들어가는지 구해준다.
cnt+=x//i
i*=5
print(cnt)
0의 개수를 구하려면 숫자에 10이 곱해진 횟수를 구해줘야한다.
예 ) 100 = 10**2
10을 소인수 분해 하면 2*5이다.
즉, 숫자를 소인수 분해하여 (2*5) 가 몇개 있는지 구하면된다.
5가 2보다 크기 때문에 5가 몇개 들어있는지 구하면된다.