728x90
팩토리얼을 계산할때 0이 나오는 경우를 구하는 문제입니다.
N은 500보다 작거나 같습니다.
2와 5의개수를 세어주면 되는데 5의 개수가 더 적기 때문에 5를 셉니다.
5로 나누어 떨어지는 경우 카운트를 증가합니다.
그리고 25는 100을 만들 수 있기에 25로 나누어떨어지는 경우도 세며,
125도 250, 500을 만들 수 있기에 125로 나누어떨어지는 경우도 세줍니다.
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
int n;
int count = 0;
cin >> n;
for (int i = 1; i <= n; ++i) {
if (i % 5 == 0) {
++count;
}
if (i % 25 == 0) {
++count;
}
if (i % 125 == 0) {
++count;
}
}
cout << count << endl;
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 10773번 제로 (0) | 2019.09.04 |
---|---|
[C++] 백준 2004번 조합 0의 개수 (0) | 2019.09.04 |
[C++] 백준 9375번 패션왕 신해빈 (0) | 2019.09.03 |
[C++] 백준 11050번 이항 계수 1 (0) | 2019.09.03 |
[C++] 백준 3036번 링 (0) | 2019.09.03 |