Pagini recente » Cod sursa (job #2061572) | Cod sursa (job #1101026) | Cod sursa (job #1473328) | Cod sursa (job #1115465) | Cod sursa (job #2065486)
#include <stdio.h>
#include <stdlib.h>
int p;
int Nrz(int x)
{ int put=5,s=0;
int cx=x;
while(cx/put)
{ s+=cx/put;
put*=5;
}
return s;
}
int Cautbin(int ss,int dd,int px)
{ int st=ss;
int dr=dd,mij;
while(st<=dr)
{ mij=st+(dr-st)/2;
int nr=Nrz(mij);
if(nr==px) return mij;
else if(nr<px) st=mij+1;
else if(nr>px) dr=mij-1;
}
return -1;
}
int main()
{ FILE *f,*g;
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%d",&p);
int st=1;
int dr=500000000;
int val=Cautbin(st,dr,p);
if(p==0) fprintf(g,"1");
else if(val==-1) fprintf(g,"%d",val);
else if(val%5==0)
fprintf(g,"%d",val);
else {while(val%5!=0) val--;
fprintf(g,"%d",val);}
return 0;
}