Cod sursa(job #441746)

Utilizator siminescuPaval Cristi Onisim siminescu Data 13 aprilie 2010 11:53:23
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
long long n,p,st=1,dr,bla,t,nr,v[12],i;
int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%lld",&p);bla=0;
	v[0]=5;if(v[0]==p)bla=1;
	for(i=1;i<12;i++)
	{
		v[i]=5*(v[i-1]+1);
		if(p==v[i]) bla=1;
	}
	if(bla==1)printf("-1\n");
	else
	{
	dr=5*p;
	while(st<dr)
	{
		nr=0;
		t=(st+dr)/2;
		bla=5;
		while(bla<=t)
		{
			nr=nr+t/bla;
			bla=bla*5;
		}
		if(nr>=p)
			dr=t+1;
		else
			st=t;
	}
	printf("%lld\n",st);
	}
	






}