Pagini recente » Cod sursa (job #2513891) | Cod sursa (job #1601130) | Cod sursa (job #2329570) | Cod sursa (job #632308) | Cod sursa (job #306934)
Cod sursa(job #306934)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
using namespace std;
int nrz(int n) // nr. de zerouri din n!
{
int s=0;
while (n>0)
{
s=s+n/5;
n=n/5;
}
return s;
}
int calc(int p)
{
int a=0, b=400000025L,m, n;
while (a<=b)
{
m=(a+b)/2;
n=nrz(m);
if (p==n) {
while (nrz(m-1)==p)
m--;
return m;
}
if (p>n)
a=m+1;
else
b=m-1;
}
return -1;
}
int main()
{ int p;
f>>p;
if (p==0)
g<<1;
else
g<<calc(p);
f.close();
g.close();
return 0;
}