Pagini recente » Cod sursa (job #219294) | Cod sursa (job #2369255) | Cod sursa (job #1886054) | Cod sursa (job #943795) | Cod sursa (job #434376)
Cod sursa(job #434376)
#include<stdlib.h>
#include<cstdio>
using namespace std;
inline int zero( int mij )
{
int p = 0;
while ( mij )
{
p += mij / 5 ;
mij /= 5 ;
}
return p;
}
int main()
{
int mij,p,st,dr,val;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if ( !p ) printf("1");
else if ( p == 1) printf("5");
else{
st = 0;
dr = 5 * p;
while (st < dr)
{
mij = st + (dr - st) / 2;
if (zero(mij) == p) {val = mij;break;}
else if (zero(mij) < p) st = mij + 1 ;
else if (zero(mij) > p) dr = mij - 1 ;
}
for ( ; val % 5 ; val--);
if ( zero(mij) == p ) printf("%d",val);
else printf("-1");}
return 0;
}