Pagini recente » Cod sursa (job #2523841) | Cod sursa (job #711483) | Cod sursa (job #825526) | Cod sursa (job #2532627) | Cod sursa (job #182638)
Cod sursa(job #182638)
//fact INFOARENA
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long nrcifre(unsigned long long a){
unsigned long long cifre=0;
while (a>0)
{
cifre+=a/5;
a/=5;
}
return cifre;
}
unsigned long long cautare(unsigned long long p)
{
unsigned long long c,n=0,st,sf,mij,r1,r2,stf,sff;
st=1;
sf=n=1<<31;
while (st<=sf)
{
r1=st%2;
r2=sf%2;
stf=st/2;
sff=sf/2;
mij=stf+sff+(r1+r2)/2;
if (nrcifre(mij)>=p){
if (mij<n) n=mij;
sf=mij-1;
} else
{
st=mij+1;
}
}
return n;
}
int main()
{
unsigned long long p;
fin>>p;
fout<<cautare(p);
fout.close();
return 0;
}