Pagini recente » Cod sursa (job #91962) | Cod sursa (job #2417860) | Cod sursa (job #920918) | Cod sursa (job #908512) | Cod sursa (job #141135)
Cod sursa(job #141135)
#include<fstream.h>
unsigned long n, np;
unsigned long x[13]={0, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625};
ifstream f("fact.in");
ofstream g("fact.out");
int factorial(unsigned long n)
{ unsigned long nr, i;
nr=0;
for(i=12; i>0; i--)
nr+=n/x[i];
return nr;
}
int binara(unsigned long p, unsigned long u)
{ unsigned long mj;
if(p<=u)
{ mj=(p+u)/2;
if(factorial(mj)==np)
return mj;
else
if(factorial(mj)>np)
return binara(p, mj-1);
else
return binara(mj+1, u);
}
else
return -1;
}
int main()
{ f>>np;
if(np==0)
g<<1;
else
{ n=binara(1, 4000000000);
n=n-n%5;
g<<n<<'\n';
}
g.close();
return 0;
}