Pagini recente » Cod sursa (job #2071432) | Cod sursa (job #1685091) | Cod sursa (job #870876) | Cod sursa (job #2104628) | Cod sursa (job #420080)
Cod sursa(job #420080)
#include<fstream>
#include<cstdio>
using namespace std;
ofstream fout("factorial.out");
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);
fout<<mij<<" "<<q0<<"\n";
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("factorial.in");
fin>>n;
cauta(1,2000000000);
fout<<rez;
return 0;
}