Pagini recente » Cod sursa (job #41733) | Cod sursa (job #3278084) | Cod sursa (job #2616580) | Cod sursa (job #1256841) | Cod sursa (job #549998)
Cod sursa(job #549998)
#include <fstream.h>
#include <math.h>
ifstream f("fact.in");
ofstream g("fact.out");
long long p,i,l,S,max,m,aux,k;
int functie(long long n)
{
S=0;
l=log(n)/log(5);
//g<<l<<'\n';
for(k=1;k<=l;k++)
S=S+n/(pow(5,k));
return S;
}
void cautbinar(long long st,long long dr)
{ if(st<=dr)
{
m=(st+dr)/2;
aux=functie(m);
if(aux==p)
{ while(m && p==functie(m))m--;g<<m+1<<'\n';}
else
if(aux<p)
cautbinar(m+1,dr);
else
cautbinar(st,m-1);
}
else g<<-1<<'\n';
}
int main()
{
f>>p;
max=5*p;
cautbinar(0,max);
f.close();
g.close();
return 0;
}