Pagini recente » Cod sursa (job #1057017) | Cod sursa (job #3237814) | Cod sursa (job #2921967) | Cod sursa (job #241090) | Cod sursa (job #1216672)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int n,sol,p;
int calc_nrz(int l)
{
int nr=0,p=5,so=0,x;
for(;;)
{
x=l/p;
if(x==0) break;
so+=x;
p*=5;
}
return so;
}
int bin(int li,int lf)
{
int k,nrz;lf++;
while(li<lf)
{
k=(li+lf)/2;
nrz=calc_nrz(k);
if(nrz==n) return k;
if(nrz>n) lf=k;
if(nrz<n) li=k+1;
//cout<<k<<" "<<nrz<<"\n";
}
if(nrz<n) return -1;
return k;
}
int main()
{
f>>n;
if(n<0) g<<-1;
else
{
if(n==0) g<<1;
else
{
p=bin(1,5*n);
if(p==-1) g<<p;else
{
while(p%5!=0) p--;
g<<p;
}
}
}
return 0;
}