Pagini recente » Cod sursa (job #1768784) | Cod sursa (job #1442347) | Cod sursa (job #1441879) | Cod sursa (job #1103569) | Cod sursa (job #1695076)
#include <cstdio>
using namespace std;
int p;
int verif (int x){
int sp5=0;
long long p5=5;
while (p5<=x){
sp5+=x/p5;
p5*=5;
}
if (sp5>p)
return 0;
if (sp5<p) return 1;
return 2;
}
int main()
{
FILE *fin=fopen ("fact.in","r");
FILE *fout=fopen ("fact.out","w");
int st,dr,mid;
fscanf (fin,"%d",&p);
st=1;
dr=1000000;
int stg=0;
while (st<=dr && stg==0){
mid=(st+dr)/2;
//printf ("%d ",verif(mid));
if (verif(mid)==1)
st=mid+1;
else if (verif(mid)==0)
dr=mid-1;
else {
mid=mid-mid%5;
fprintf (fout,"%d",mid);
stg=1;
break;
}
if (st>dr){
fprintf (fout,"-1");
break;
}
}
return 0;
}