끄적끄적 코딩
article thumbnail

팩토리얼을 계산할때 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

검색 태그