Pagini recente » Cod sursa (job #1939783) | Cod sursa (job #2138901) | Cod sursa (job #2732288) | Cod sursa (job #1339594) | Cod sursa (job #434373)
Cod sursa(job #434373)
#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,ct,a;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if ( !p ) printf("1");
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;
}