알고리즘 문제풀기/인프런 강의 정답

28. N!에서 0의 개수(소인수분해 응용)

코다람쥐 2022. 4. 2. 08:07

나의정답.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int main(int argc, char** argv) {
	//freopen("input.txt", "rt", stdin);
	int n, i, two = 0, five = 0, temp;
	scanf("%d", &n);
	
	for(i=2 ; i <=n; i++){
		temp = i;
		while(temp % 2 == 0){
			temp /= 2;
			two++;
		}
		
		while(temp % 5 == 0){
			temp /= 5;
			five++;
		}
	}
	
	printf("%d", two < five ? two : five);
}