Pagini recente » Cod sursa (job #1363315) | Cod sursa (job #2372201) | Cod sursa (job #2135649) | Cod sursa (job #2588941) | Cod sursa (job #1115547)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
int p,n,nrz , putere;
fin>>p;
if(p==0)
{
fout<<1;
return 0;
}
int st = 5 , dr = 2000000000;
bool gasit = false;
while(st < dr)
{
n = (st+dr)/2;
nrz = 0;
putere = 5;
while(n/putere>0)
{
nrz+=n/putere;
putere *= 5;
}
if(nrz == p)
{
while(n%5 != 0)
n --;
fout << n;
gasit = true;
break;
}
else
if(nrz < p)
st = n + 1;
else
dr = n - 1;
}
if(! gasit)
fout<<-1;
return 0;
}