Pagini recente » Cod sursa (job #1860027) | Cod sursa (job #1578847) | Cod sursa (job #1810841) | Cod sursa (job #2563131) | Cod sursa (job #1046798)
#include <cstdio>
#include <cstdlib>
#include <ctime>
#define N 1<<14
using namespace std;
int ok(int val)
{
int k=0;
/*for(int i=5;i<val;i+=5)
{
//++k;
++k;
}*/
for(int i=5;i<=val;i*=5)
{
//++k;
k+=val/i;
}
return k;
}
int binsearch(int x)
{
int step = N;
int i;
for(i=0;step;step>>=1)
{
//printf("ok(i+step): %d; i+step: %d\n",ok(i+step),i+step);
if( ok(i+step)<x )
i+=step;
}
if(ok(++i)==x) return i;
return -1;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int p;
scanf("%d",&p);
printf("%d",binsearch(p));
return 0;
}