Pagini recente » Cod sursa (job #142365) | Istoria paginii utilizator/ucv_georgescu | Cod sursa (job #1402059) | Cod sursa (job #545839) | Cod sursa (job #1046804)
#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+5<=val;i*=5)
{
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;
}
//while(ok(i)<x) ++i;
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);
for(int i=0;i<=200;++i)
printf("%d: %lld \n",i,binsearch(i));
return 0;
}