Pagini recente » Cod sursa (job #1924787) | Cod sursa (job #1084926) | Cod sursa (job #2208852) | Cod sursa (job #2503575) | Cod sursa (job #807375)
Cod sursa(job #807375)
#include<stdio.h>
long int P,m1,m2,mij,gasit=0,z;
char a[500000020];
FILE*A,*B;
long int cf(long int A)
{
long int B=A,C=0,nr=0;
while(B>0)
{
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);
m1=1;m2=100000000;mij=(m1+m2)/2;
while(gasit==0&&m1<m2)
{
z=cf(mij);
if(z==P){gasit=1;fprintf(B,"%ld",mij-mij%5);}
else
{
if(z<P){m2=mij;mij=(m1+m2)/2-1;}
else{m1=mij;mij=(m1+m2)/2+1;}
if( m1+1==m2){gasit=1;fprintf(B,"-1");}
}
}
fclose(A);fclose(B);
}