Cod sursa(job #652632)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 25 decembrie 2011 16:22:29
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
using namespace std;

int p;
int NrDeZerouri(int n){
	int p = 5, nr = 0;
	while (p < n){
		nr += n / p;
		p *= 5;
	}
	return nr;	
}

int CautaBinar(){
	int st = 1, dr = 5 * p + 1, m, zerouri;
	
	while (st <= dr){
		m = (st + dr) / 2;
		zerouri = NrDeZerouri(m);
		
		if (zerouri == p) {
			do {	m--;
						zerouri = NrDeZerouri(m);
				}	
			while (zerouri == p && m >= 1);
			return m + 1;
		}
		else if (zerouri > p) dr = m - 1;
		else st = m + 1;
	}
	
	return -1;
}

int main(){
	freopen("factorial.in", "r", stdin), freopen("factorial.out", "w", stdout);
	scanf ("%d", &p);
	
	printf("%d\n", CautaBinar());
	return 0;
}