Pagini recente » Borderou de evaluare (job #568768) | Borderou de evaluare (job #861680) | Borderou de evaluare (job #1313897) | Borderou de evaluare (job #1557184) | Cod sursa (job #1800689)
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g ("fact.out");
int zero (int x){
int nr=0;
nr=nr+x/5;
nr=nr+x/25;
nr=nr+x/125;
nr=nr+x/625;
nr=nr+x/3125;
nr=nr+x/15625;
nr=nr+x/78125;
nr=nr+x/390625;
nr=nr+x/1953125;
nr=nr+x/9765625;
nr=nr+x/48828125;
nr=nr+x/244140625;
return nr;
}
int main()
{
int p,u,m,ok,P;
f>>P;
p = 1;
u = 5*P;
if(P==0){
g<<1;
return 0;
}
ok=0;
while(p<=u) {
m=p+(u-p)/2;
if(zero(m)>P)
u=m-1;
else if(zero(m)==P){
u=m-1;
ok=1;
}
else
p=m+1;
}
if(ok==0) g<<-1;
else g<<p;
}