Cod sursa(job #281598)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 15 martie 2009 14:29:28
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#define MAX 100000000
int n;
int bin(int p)
{
	int hi,mid,lo,e,a,max;
	for (lo=0, hi=10^8+1, max=-1; lo<=hi; )
	{
		mid=lo+(hi-lo)/2;
		a=mid;
		e=0;
		while(a)
			e+=(a/=5);
		if (e==p)
			max=mid;
		if(p<=e)
			hi=mid-1;
		else if(p>e)
			lo=mid+1;
	}
	if (max!=-1)
		return max;
	return -1;
}
int main()
{
    freopen ("fact.in","r",stdin);
    freopen ("fact.out","w",stdout);
    scanf ("%d",&n);
    if (n==0)
        printf ("1");
    else
        printf ("%d",bin(n));
    return 0;
}