Pagini recente » Cod sursa (job #589797) | Cod sursa (job #1552555) | Cod sursa (job #1217333) | Cod sursa (job #680257) | Cod sursa (job #459987)
Cod sursa(job #459987)
#include<fstream.h>
long getP(long long n)
{
long sum=0, put=5;
while(n/put>=1)
{
sum+=n/put;
put*=5;
}
return sum;
}
long cauta(long long a, long long b, long p)
{
long long m=(a+b)/2, aux;
if((aux=getP(m))==p)
return m;
else
if(aux>p)
if(getP(m-1)<p)
return -1;
else
return cauta(a, m, p);
else
return cauta(m+1, b, p);
return 0;
}
int main()
{
long p;
long long aux;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
aux=cauta(1, 1000000000, p);
if(aux!=-1)
while(aux%5!=0)
aux--;
if(p==0)
aux=1;
g<<aux;
g.close();
return 0;
}