Cod sursa(job #1429990)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 7 mai 2015 18:19:55
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
using namespace std;

int P;

int nrZero(int x) {
	int contor = 0;
	while (x) {
		contor += x / 5;
		x /= 5;
	}
	return contor;
}

int caut() {
	int first = 1, last = 500000000, middle;
	while (first <= last) {
		middle = (first + last) / 2;
		int nrz = nrZero(middle);
		
		if (nrz < P) {
			first = middle + 1;
		} else if (nrz > P) {
			last = middle - 1;
		} else {
			return middle / 5 * 5;
		}
	}
	return -1;
}

int main() {
	freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);
	
	scanf("%d", &P);
	
	if (!P) {
		printf("1\n");
		return 0;
	}
	
	int N = caut();
	
	printf("%d\n", N);
	
	return 0;
}