Pagini recente » Cod sursa (job #332763) | Cod sursa (job #294626) | Cod sursa (job #1874034) | Cod sursa (job #1662262) | Cod sursa (job #976387)
Cod sursa(job #976387)
#include<fstream>
using namespace std;
int putere(int m,int p)
{
int put=0,k=5,s=0;
while(k*5<=m)
{
k*=5;
put++;
s+=put;
}
put=s*(s+1)/2;
s=m/5+put;
return s;
}
int binar(int i,int j,int p)
{
int m;
m=(i+j)/2;
if(i>j) return 0;
else
if(putere(m,p)==p && m%5==0) return m;
else
if(putere(m,p)<p) return binar(m+1,j,p);
else return binar(i,m-1,p);
}
using namespace std;
int main ()
{
long P,prod=0;
ifstream f("fact.in");
f>>P;
if(P==0) prod=1;
else prod=binar(0,10*P,P);
ofstream g("fact.out");
if(prod==0) g<<-1;
else g<<prod;
f.close();
g.close();
return 0;
}