Pagini recente » Cod sursa (job #2325558) | Cod sursa (job #1325582) | Cod sursa (job #94616) | Cod sursa (job #508248) | Cod sursa (job #1661801)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
int p,st,dr,P,med,lastst;
long long numitor;
fin>>P;
lastst=-1;
st=1;
dr=2000000000;
while(st<=dr)
{
med=dr-(dr-st)/2;
p=0;
numitor=5;
while(numitor<=med)
{
p=p+med/numitor;
numitor=numitor*5;
}
if(p>=P)
{
dr=med-1;
lastst=med;
}
else
st=med+1;
}
p=0;
numitor=5;
while(numitor<=lastst)
{
p=p+lastst/numitor;
numitor=numitor*5;
}
if(p==P)
fout<<lastst<<"\n";
else
fout<<-1<<"\n";
fin.close();
fout.close();
return 0;
}