Cod sursa(job #582329)

Utilizator darius1998noname darius1998 Data 15 aprilie 2011 11:14:06
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<stdio.h>
long nr0(long long x)
{
long long nr=0,p=5;
while(x/p>=1)
	{
	nr=nr+x/p;
	p=p*5;
	}
return nr;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long long p,n,z;
scanf("%lld",&p);
long long st=1,dr=1<<60,med,last=-1;
while(st<=dr)
	{
	med=st+(dr-st)/2;
	z=nr0(med);
	if(z<p)
		st=med+1;
	if(z>p)
		dr=med-1;
	if(z==p)
		{
		last=med;
		dr=med-1;
		}
	}
printf("%lld",last);
return 0;
}