Pagini recente » Cod sursa (job #3224911) | Cod sursa (job #1982427) | Cod sursa (job #927481) | Cod sursa (job #2339685) | Cod sursa (job #2375584)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
#define cin fin
#define cout fout
int cif0(int n)
{
int p=1;
int cif2=0;
int cif5=0;
while(p*2<=n)
{
p*=2;
cif2+=n/p;
}
p=1;
while(p*5<=n)
{
p*=5;
cif5+=n/p;
}
return min(cif2,cif5);
}
int st,dr,mij;
int p,pf;
int main()
{
cin>>p;
if(p==0)
{
cout<<1;
return 0;
}
st=1;
dr=p*10;
while(st<=dr)
{
mij=(dr-st)/2+st;
if(st==dr)
break;
pf=cif0(mij);
if(pf==p)
dr=mij;
else
if(pf<p)
st=mij+1;
else
dr=mij-1;
}
if(st>dr)
cout<<-1;
else
cout<<mij;
return 0;
}