Cod sursa(job #147749)

Utilizator alex3el_n2oAlex Vladescu alex3el_n2o Data 3 martie 2008 14:37:38
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
FILE *f=fopen("fact.in","r"), *g=fopen("fact.out","w");
long p;
long a,b;
long binar(long x)
	{
	long k=0,t;
	t=x;
	while (t)
		{
		k+=t/5;
		t/=5;
		}
	if (k<p) a=x+1;
	if (k>p) b=x-1;
	if ((k==p)&&(x%5==0)) {
		a=x;
		return 0;
		}
		else if (k==p) b=x-1;
	if ((k!=p)&&(b==x)) {
		a=-1;
		return 0;
		}
	return binar((a+b)/2);
	}
int main()
{
fscanf(f,"%ld",&p);
if ((p==0) || (p==1))
	{
	if (p==0) fprintf(g,"1\n");
	else fprintf(g,"5\n");
	}

else
{
a=0;
b=1000000000;
binar((a+b)/2);
fprintf(g,"%ld\n",a);
}
fclose(g);
return 0;
}