Cod sursa(job #429037)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 29 martie 2010 19:49:50
Problema Factorial Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<values.h>
#include<math.h>
using namespace std;

int nr_zero (int k)
{
	long long sum=0;
	int exp=1;
	while (pow(5,exp)<=k)
	{
		sum+=k/pow(5,exp);
		exp++;
	}
	return sum;
}

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