Cod sursa(job #457061)

Utilizator ursu-valiJerdea Florin ursu-vali Data 17 mai 2010 21:34:31
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#define infile "fact.in"
#define outfile "fact.out"

long n;

void read()
{
	scanf("%ld",&n);
}
void solve()
{
	long i,a=0,b=10000000,x,q,m,nr=0,ok=0;
	while(a!=b)
	{		
		m=(a+b)/2;
		nr=0;
		for(i=2;i<=m;i++)
		{
			x=i;
			while(x%5==0)
			{
				nr++;
				x=x/5;
			}
			if(nr>n)
				break;
		}
		if(nr==n)
		{
			ok=1;
			while(1)
			{
				x=m-1;
				nr=0;
				for(i=2;i<=x;i++)
				{
					q=i;
					while(q%5==0)
					{
						nr++;
						q=q/5;
					}
				}
				if(nr==n)
					m--;
				else
					break;
			}
			printf("%ld",m);
			a=b;
		}
		if((nr>n)&&(ok==0))
			b=m-1;
		if((nr<n)&&(ok==0))
			a=m+1;
	}
	if(ok==0)
		printf("-1");
}
int main()
{
	freopen(infile,"r",stdin);
	freopen(outfile,"w",stdout);
	read();
	solve();
	fclose(stdin);
	fclose(stdout);
	return 0;
}