Pagini recente » Cod sursa (job #725920) | Cod sursa (job #1629939) | Cod sursa (job #1986500) | Cod sursa (job #1331350) | Cod sursa (job #420092)
Cod sursa(job #420092)
#include<fstream>
#include<cstdio>
#define infi 1<<30
using namespace std;
long long n, rez;
inline long long qont(long long x)
{
long long tmp,nr5=5,rez=0;
tmp=x/nr5;
while(nr5<=x)
{
rez+=tmp;
nr5*=5;
tmp=x/nr5;
}
return rez;
}
void cauta(long long st, long long dr)
{
long long mij=(st+dr)/2;
long long q0=qont(mij);
if(q0==n)//daca e bun
{
rez=mij;
while(rez%5>0)
rez--;
return;
}
else if(st==dr)// daca nu am sol
{
rez=-1;
return;
}
else if(q0<n)
cauta(mij+1, dr);
else if(q0>n)
cauta(st, mij-1);
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
fin>>n;
long long st=1, dr=infi;
cauta(st, dr);
fout<<rez;
return 0;
}