3474 - 교수가 된 현우

재찬·2023년 1월 28일
0

Algorithm

목록 보기
28/64

문제

코드

#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) --> 이 코드를 안적었을 때는 시간 초과가 나왔는데 적으니 맞았다.
콘솔에서도 차이가 있었다.
위 코드가 없을 때는 입력 하나당 결과 값이 바로 아래 출력 됐는데
있을 때는 입력을 한번에 받고 출력이 한번에 나왔다.
저 코드가 뭔지 정리 한 번 하고 가야겠다.

0개의 댓글