Pagini recente » Cod sursa (job #159391) | Cod sursa (job #515150) | Cod sursa (job #500659) | Cod sursa (job #3242575) | Cod sursa (job #527775)
Cod sursa(job #527775)
#include <fstream>
using namespace std;
int p;
int Factorial (int m)
{
int x=0, y=1;
if (m<5)
return 0;
while (y<m)
{
y*=5;
x=x+m/y;
}
return x;
}
int CautareBinara ()
{
int st, dr, m, x;
st=1;
dr=100000000;
while (st<=dr)
{
m=(dr+st)/2;
x=Factorial (m);
if (x==p)
return m;
else
if (x>p)
dr=m-1;
else
st=m+1;
}
return -1;
}
int main ()
{
ifstream f("factorial.in");
f>>p;
f.close();
int n;
if (p==0)
n=1;
else
{
n=CautareBinara();
if (n>-1)
while (n%5)
n--;
}
ofstream g("factorial.out");
g<<n<<"\n";
g.close();
return 0;
}