Cod sursa(job #988628)

Utilizator petrutsxMihaela Petruta Gaman petrutsx Data 23 august 2013 15:02:49
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
 
int N, P;
 
int zeros(int x, int div){
	if(div > x)
		return 0;
	else
		return x/div + zeros(x, div * 5);
}
 
int BinarySearch(int left, int right, int power){
    int mid = (left + right)/2;
    if(left > right) 
		return -1;
    else 
		if (zeros(mid, 5) == power && mid % 5 == 0) 
			return mid;
		else 
			if(zeros(mid, 5) < power) 
				return BinarySearch(mid + 1, right, power);
			else 
				return BinarySearch(left, mid - 1, power);
}

int main (){
 	FILE *pf, *pg;
	pf = fopen("fact.in", "r");
	pg = fopen("fact.out", "w");

	fscanf(pf, "%d", &P);
	if(P==0) 
		N=1;
	else 
		N = BinarySearch(0, 5 * P, P);
	fprintf(pg, "%d", N);
    return 0;
}