Pagini recente » Istoria paginii runda/vot/voteaza_algorel/clasament | Cod sursa (job #1830961) | Cod sursa (job #1787612) | Cod sursa (job #837413) | Cod sursa (job #979628)
Cod sursa(job #979628)
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long P,prod;
int putere(int m,int p)
{
int put=0,k=5,s=0;
while(k<=m)
{
s=s+m/k;
k*=5;
}
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);
}
int main ()
{
f>>P;
if(P==0) prod=1;
else prod=binar(0,5*P,P);
if(prod==0) g<<-1<<'\n';
else g<<prod<<'\n';
f.close();
g.close();
return 0;
}