Pagini recente » Cod sursa (job #303591) | Cod sursa (job #2640143) | Cod sursa (job #2017829) | Cod sursa (job #1458090) | Cod sursa (job #420089)
Cod sursa(job #420089)
#include<fstream>
#include<cstdio>
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;
cauta(1,10000000000);
fout<<rez;
return 0;
}