Pagini recente » Cod sursa (job #547613) | Cod sursa (job #146482) | Cod sursa (job #1434496) | Cod sursa (job #1709951) | Cod sursa (job #306924)
Cod sursa(job #306924)
#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;
}
void 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--;
g<<m;
return;
}
else
if (p<m)
b=m-1;
else
a=m+1;
}
g<<-1;
return;
}
int main()
{ int p;
f>>p;
if (p==0)
g<<1;
else
calc(p);
f.close();
g.close();
return 0;
}