문제 링크입니다: https://www.acmicpc.net/problem/3474
간단한 수학 문제였습니다.
뒤에 0이 붙는 개수는 결국 소인수분해를 했을 때 2의 개수 혹은 5의 개수 중 작은 쪽이 정합니다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
for (int t = 0; t < T; t++)
{
int N;
cin >> N;
int two = 0, five = 0;
for (int i = 2; i <= N; i *= 2)
two += N / i;
for (int i = 5; i <= N; i *= 5)
five += N / i;
cout << min(two, five) << "\n";
}
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2022번 사다리 (0) | 2019.02.04 |
---|---|
백준 2792번 보석 상자 (0) | 2019.02.04 |
백준 3111번 검열 (0) | 2019.01.31 |
백준 1327번 소트 게임 (0) | 2019.01.31 |
백준 1648번 격자판 채우기 (0) | 2019.01.31 |