Pagini recente » Cod sursa (job #3192613) | Cod sursa (job #1224847) | Cod sursa (job #1040298) | Cod sursa (job #275068) | Cod sursa (job #397404)
Cod sursa(job #397404)
#include<stdio.h>
using namespace std;
#define Mx 4200000000
#include<stdlib.h>
unsigned long p,x,a,b,c,i,ok,n;
FILE *f=fopen("fact.in","r"), *g=fopen("fact.out","w");
void desc()
{
for(i=5;i<=c;i*=5)
x+=c/i;
}
void caut_bin(unsigned long a,unsigned long b)
{ x=0;
if(a>b)
if(!ok)
{fprintf(g,"-1\n"); fclose(f); fclose(g); exit(0);}
else return;
c=(a+b)/2;
desc();
if(x==p)
{
n=c;
ok=1;
}
if(x<p) caut_bin(c+1,b);
else if(x>=p) caut_bin(a,c-1);
}
int main()
{
fscanf(f,"%lu",&p);
caut_bin(0,Mx);
fprintf(g,"%lu\n",n);
fclose(f);
fclose(g);
return 0;
}