Pagini recente » Monitorul de evaluare | Cod sursa (job #1974135) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1800161)
#include <fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
const long long infinit=1000000000;
long long p, n;
long long cauta(long long st, long long dr);
long long nrzero(long long q);
int main()
{
cin>>p;
if(p==0)
cout<<1;
else
{
n=cauta(1, infinit);
cout<<n;
}
return 0;
}
long long cauta(long long st, long long dr)
{
long long mij=(dr+st)/2;
while(st<=dr)
{
long long r=nrzero(mij);
if(r<p)
return cauta(mij+1, dr);
else if(r>p)
return cauta(st, mij-1);
else
return (mij-(mij%5));
}
return -1;
}
long long nrzero(long long q)
{
int p1=5;
int nr=0;
while(q>=p1)
{
nr+=q/p1;
p1*=5;
}
return nr;
}