[백준] 1676번 팩토리얼 0의 개수 C++

semi·2022년 8월 2일
0

https://www.acmicpc.net/problem/1676

#include <iostream>

using namespace std;

int get_num_cnt(int num, int N) // num is 2 or 5
{
	int cnt = 0;
	while (1)
	{
		if (N % num == 0)
		{
			cnt++;
			N /= num;
		}
		else
		{
			break;
		}
	}
	return cnt;
}

int main(void)
{
	int N, cnt2 = 0, cnt5 = 0;
	cin >> N;
	for (int i = N; i >= 1; i--)
	{
		cnt2 += get_num_cnt(2, i);
		cnt5 += get_num_cnt(5, i);
	}
	cout << min(cnt2, cnt5);
	return 0;
}

0개의 댓글