-
백준 11687번: 팩토리얼 0의 개수문제해결 2023. 11. 28. 18:16
팩토리얼 0의 개수
그냥 무작정 1부터 M까지 계수를 셌다.
당연히 시간초과가 뜰거라 생각했는데 AC되었다.
M이 1억일 경우 100'000'000번 넘게 연산이 되는데 어떻게 0.5초만에 된거지
#include <bits/stdc++.h> using namespace std; int M; int get_5(int f) { int fives = 0; while (!(f % 5)) { f /= 5; fives += 1; } return fives; } int main() { cin >> M; long long f = 0, val = 0; while (true) { f += 5; val += get_5(f); if (val == M) { cout << f << endl; return 0; } if (val > M) { cout << -1 << endl; return 0; } } return 0; }
'문제해결' 카테고리의 다른 글
백준 15663번: N과 M(9) (0) 2023.11.29 백준 1629번: 곱셈 (0) 2023.11.28 백준 23253번: 자료구조는 정말 최고야 (0) 2023.11.28 백준 9251번: LCS, 백준 5582번: 공통 부분 문자열 (2) 2023.11.20 백준 9935번: 문자열 폭발 (0) 2023.11.20