Pagini recente » Cod sursa (job #2643279) | Cod sursa (job #1697310)
#include <fstream>
#include <algorithm>
using namespace std;
unsigned int cate0(unsigned int n)
{
if (!n) return 1;
unsigned int n2=0,n5=0,i,x;
for (i=2;i<=n;i+=2)
{
x=i;
while (!(x%2))
x/=2,n2++;
}
for (i=5;i<=n;i+=5)
{
x=i;
while (!(x%5))
x/=5,n5++;
}
return min(n2,n5);
}
int main()
{
ifstream f("factorial.in");
ofstream g("factorial.out");
unsigned int i,step,p,n;
f>>p;n=5*p;
for (step=1;step<=n;step<<=1);
step>>=1;
for (i=0;step;step>>=1)
{
if (cate0(i+step)<p)
i+=step;
}
if (cate0(i+1)==p) g<<i+1<<'\n';
else g<<"-1\n";
f.close();
g.close();
return 0;
}