Pagini recente » Cod sursa (job #616475) | Cod sursa (job #2034037) | Cod sursa (job #3221507) | Cod sursa (job #1717837) | Cod sursa (job #2226970)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int fact(int x) {
int pow5=5,p=0;
while(pow5<=x) {
p+=x/pow5;
pow5*=5;
}
return p;
}
int main()
{
int p,st,poz,pow2=1,dr;
f>>p;
st=p;
dr=p*5;
while(pow2<dr-st)
pow2<<=1;
for(poz=st;pow2>=1;pow2>>=1) {
if(poz+pow2<=dr&&fact(poz+pow2) < p)
poz+=pow2;
}
if(fact(poz+1)==p)
g<<poz+1;
else
g<<-1;
g<<'\n';
f.close();
g.close();
return 0;
}