Cod sursa(job #350263)

Utilizator crisojogcristian ojog crisojog Data 23 septembrie 2009 10:08:09
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
long p;

void read()
{
	scanf("%ld",&p);
}

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

void cautbin()
{
	long long st,dr,m,nr,w;
	st=1;
	dr=10000000000LL;
	w=-1;
	while (st<=dr)
    {
		m=(st+dr)/2;
        nr=gen(m);
        if (nr==p)
        {
			w=m;
            dr=m-1;
		}
        else if (nr<p)
            {
				st=m+1;
            }
            else 
			{
                dr=m-1;
            }
       }
	printf("%lld\n",w);
}

int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	read();
	cautbin();
	return 0;
}