Pagini recente » Cod sursa (job #2711104) | Cod sursa (job #1809139) | Cod sursa (job #2702770) | Cod sursa (job #1262616) | Cod sursa (job #2252814)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int n,k;
int det_nr_0(int n,int p);
int cb(int li,int ls,int x);
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
cin>>n;
if(n==0)
{
cout<<1;
return 0;
}
k=cb(1,1000000000,n);
if(k==-1)
{
cout<<k;
return 0;
}
k=k-k%5;
cout<<k;
return 0;
}
int det_nr_0(int n,int p)
{
if(n>=p) return n/p+det_nr_0(n,p*5);
else return 0;
}
int cb(int li,int ls, int x)
{
if(li>ls) return -1;
else
{
int m=(li+ls)/2;
int nr=det_nr_0(m,5);
if(nr==x) return m;
else if(nr>x) return cb(li,m-1,x);
else return cb(m+1,ls,x);
}
}