Cod sursa(job #429282)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 29 martie 2010 23:52:50
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
using namespace std;

long long nr_zero (long long k)
{
	long long sum=0;
	long long putere=5;
	while (k/putere>0)
	{
		sum+=k/putere;
		putere*=5;
	}
	return sum;
}

int main ()
{
	long long st,dr,p,m,j;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%lld",&p);
	st=1; dr=5*p;
	while (st<=dr)
	{
		m=(st+dr)/2;
		if (nr_zero(m)>=p)
		{
			dr=m-1;
			j=m;
		}
		else st=m+1;
	}
	if (p==0) printf("1");
	else 
	{
		if (nr_zero(m)==p) printf("%lld",j);
		else printf("-1");
	}
	return 0;
}