Pagini recente » Monitorul de evaluare | Cod sursa (job #1795897) | Cod sursa (job #1462197) | Cod sursa (job #1685935) | Cod sursa (job #1152906)
#include <fstream>
using namespace std;
ifstream fin ("factorial.in");
ofstream fout ("factorial.out");
int p,n;
int putere5(long x)
{ long y,e;
y=5; e=0;
while (y<=x)
{ e=e+x/y;
y=5*y;
}
return e;
}
long cauta (long st, long dr)
{ int mij,nrz;
if (st>dr) return -1;
mij=(st+dr)/2;
nrz=putere5(mij);
if (nrz==p) return mij;
if (p<nrz) return cauta (st,mij-1);
return cauta(mij+1,dr);
}
int main()
{ fin >>p;
n=cauta(1,2000000000);
if (n==-1) fout <<n;
else while (n%5!=0)
n--;
fout <<n;
return 0;
}