Pagini recente » Cod sursa (job #1502259) | Cod sursa (job #2694592) | Cod sursa (job #359679) | Cod sursa (job #1089946) | Cod sursa (job #1225351)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long p;
int nrzero(long x)
{
long nr5=5,nr=0;
while(nr5<=x)
{
nr+=x/nr5;
nr5*=5;
}
return nr;
}
int cautbin(long st,long dr)
{long x;
if(st==dr)
{if(nrzero(st)==p) {return st;}}
else{
int m=(st+dr)>>1;
if(nrzero(m)>=p)
{x=cautbin(st,m);}
else
{x=cautbin(m+1,dr);}
return x;}
}
int main()
{
f>>p;f.close();
if(p==0) {g<<1;return 0;}
long nr=cautbin(p,5*p);
if(!nr) g<<-1;
else g<<nr;
g.close();
return 0;
}