Pagini recente » Cod sursa (job #2588240) | Cod sursa (job #3274982) | Cod sursa (job #2696125) | Cod sursa (job #3198434) | Cod sursa (job #396102)
Cod sursa(job #396102)
#include<iostream>
#include<fstream>
using namespace std;
ofstream fout("fact.out");
long rez;
long minim=500000010,p;
long nrz(long n)
{long no=0,ci=5;
while(n>=ci)
{no+=n/ci;
ci=ci*5;
}
return no;
}
void cauta(long lo,long hi)
{int k,mid;
if(lo==hi)
{if(p==nrz(lo))
rez=lo;
else
rez=-1;
}
else
{mid=lo+(hi-lo+1)/2;
k=nrz(mid);
{if(k==p)
rez=mid;
else
{if(k>p)
cauta(lo,mid-1);
else
cauta(mid+1,hi);
}
}
}
}
int main()
{
ifstream fin("fact.in");
fin>>p;
fin.close();
cauta(0,5*p);
fout<<rez;
fout.close();
return 0;
}