Pagini recente » Cod sursa (job #1745604) | Cod sursa (job #245069) | Cod sursa (job #2224221) | Cod sursa (job #628552) | Cod sursa (job #1695341)
#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=2000000000;
int stg=0;
if (p==0){
fprintf (fout,"1");
return 0;
}
while (st<=dr && stg==0){
mid=(st+dr)/2;
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 && stg==0)
fprintf (fout,"-1");
return 0;
}