Pagini recente » Cod sursa (job #792401) | Cod sursa (job #124997) | Cod sursa (job #1038708) | Cod sursa (job #1362417) | Cod sursa (job #1046799)
#include <cstdio>
#include <cstdlib>
#include <ctime>
#define N 1<<18
using namespace std;
long long ok(int val)
{
long long i,k=0;
/*for(int i=5;i<val;i+=5)
{
//++k;
++k;
}*/
for(i=5;i<=val;i*=5)
{
//++k;
k+=val/i;
}
return k;
}
long long binsearch(int x)
{
long long i,step = N;
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("%lld",binsearch(p));
return 0;
}