Pagini recente » Cod sursa (job #721605) | Cod sursa (job #2613416) | Cod sursa (job #2630572) | Cod sursa (job #428905) | Cod sursa (job #277663)
Cod sursa(job #277663)
#include<iostream.h>
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
long long p,z;
void citire()
{
f>>p;
f.close();
}
inline void divizeaza (long long s, long long d, long long &m)
{
m=(s+d)/2;
}
inline long nr_zero(long long k)
{
long long s;
long n;
s=5; n=1;
while(s<k)
{
while(s%5==0)
{
s/=5;
n++;
}}
if(s==n) return n;
if(s>n) return n-1;
}
inline void cauta(long long s, long long d, long long &z)
{
long long m;
if(d>s)
{
divizeaza(s,d,m);
long long k=nr_zero(m);
if(k==p) z=m;
else
if(p>k)
cauta(m+1, d,z);
else cauta(s,m,z);
}
}
main()
{
citire();
if(p==0) g<<'1';
else
{
cauta(1,1000000,z);
if(z==0) g<<'-1';
else g<<z;
}
g.close();
}