Pagini recente » Cod sursa (job #2072728) | Cod sursa (job #1617481) | Cod sursa (job #2946040) | Cod sursa (job #2162085) | Cod sursa (job #780053)
Cod sursa(job #780053)
#include <fstream>
#include <math.h>
using namespace std;
int numZero(int x){
int k=0,q=1;
while(x/pow(5,q)){
k+=x/pow(5,q);
q++;
}
return k;
}
int main()
{long p,lt=1,rt,m;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
rt=5*p;
f.close();
while(lt<=rt){
m=(lt+rt)/2;
if(p<=numZero(m))
rt=m-1;
else
lt=m+1;
}
if(!p)
g<<1;
else{if(p==numZero(lt))
g<<lt;
else
g<<-1;}
g.close();
return 0;
}