Pagini recente » Cod sursa (job #2299415) | Cod sursa (job #1583508) | Cod sursa (job #2564498) | Cod sursa (job #162301) | Cod sursa (job #278249)
Cod sursa(job #278249)
#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;
}
*/
long long nr_zero(long long cif)
{
long t=0;
while(cif)
{
t+=cif/5;
cif/=5;}
return t;
}
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-1;
}
g.close();
}