Cod sursa(job #429302)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 30 martie 2010 00:13:33
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
#include<values.h>
using namespace std;

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

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