Cod sursa(job #117630)

Utilizator thereau21Chirica Teodor Ionel thereau21 Data 21 decembrie 2007 20:23:41
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
inline long nrz (long n)
{
	int p=0;
	while(n)
	{
		p+=n/5;
		n/=5;
	}
	return p;
}
int main()
{
	FILE *in=fopen("fact.in","r"), *out=fopen("fact.out","w");
	long s=0,f=500000000,p,c,m;
	fscanf(in,"%ld",&p);
	fclose(in);
	if(p==0)
	{
		fprintf(out,"1");
		return 0;
	}
	while(s<f)
	{
		m=(s+f)>>1;
		c=nrz(m);
		if(c==p)
		{
			fprintf(out,"%ld",m/5*5);
			fclose(out);
			return 0;
		}
		else
			if(c>p)
				f=m;
			else
				s=m+1;
	}
	fprintf(out,"-1\n");
	return 0;
}