Cod sursa(job #807398)

Utilizator emyll96Constantinescu Emil emyll96 Data 4 noiembrie 2012 17:55:45
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
long int P,l1,l2,n,gasit=0,z;
FILE*A,*B;
long int cf(long int A)
	{
		long int B=A,nr=0;
		while(B>=1)
		{
			nr=nr+B/5;
			B=B/5;
		}
		return nr;
	}
int main()
{
	A=fopen("fact.in","r");
	B=fopen("fact.out","w");
	fscanf(A,"%ld",&P);
	l1=1;l2=1000000000;n=(l1+l2)/2;
	while (l1<=l2&&gasit==0)
    {
        n=(l1+l2)/2;
        z=cf(n);
        if (z==P)
        {
            gasit=1;
            n=n-n%5;
			fprintf(B,"%ld",n);
        }
        else
        if (z<P)
		l1=n+1;
        else
		l2=n-1;
    }

	if(gasit==0)fprintf(B,"-1");
	fclose(A);fclose(B);
}