Pagini recente » Cod sursa (job #1252194) | Cod sursa (job #3263935) | Cod sursa (job #3260013) | Cod sursa (job #2388240) | Cod sursa (job #807404)
Cod sursa(job #807404)
#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;
if(P==0)fprintf(B,"1");
else
{
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);
}