#include <bits/stdc++.h>
using namespace std;
int t,n;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> t;
for(int i = 0; i <t; i++){
cin >> n;
int ret2 = 0, ret5 = 0;
for(int j = 2; j <=n; j*=2){
ret2 += n / j;
}
for(int j = 5; j <=n; j*=5){
ret5 += n / j;
}
cout << min(ret2, ret5) << '\n';
}
return 0;
}
정수론 관련 문제였다.
정수론은 알면 쉬운데 모르면 진짜 머리 아프다.
일단 전체를 다 해본다는 생각으로 접근해보고 말이 안되는 조건이라면 규칙이나 정의로 접근하는게 좋은 듯하다.
ios_base::sync_with_stdio(false)
cin.tie(NULL)
cout.tie(NULL) --> 이 코드를 안적었을 때는 시간 초과가 나왔는데 적으니 맞았다.
콘솔에서도 차이가 있었다.
위 코드가 없을 때는 입력 하나당 결과 값이 바로 아래 출력 됐는데
있을 때는 입력을 한번에 받고 출력이 한번에 나왔다.
저 코드가 뭔지 정리 한 번 하고 가야겠다.