Pagini recente » Cod sursa (job #1757624) | Cod sursa (job #2024428) | Cod sursa (job #892212) | Cod sursa (job #2487164) | Cod sursa (job #306364)
Cod sursa(job #306364)
#include <stdio.h>
FILE *f,*s;
long long int p,n,st,dr,mij,i,j,rasp;
int numarare(int x)
{
int nrz=0;
for(i=5;i<x;i*=5)
nrz+=x/i;
return nrz;
}
int main()
{
f=fopen("fact.in","r");
s=fopen("fact.out","w");
fscanf(f,"%lld",&p);
st=1;
dr=100000000;
while(st<=dr)
{
mij=(st+dr)/2;
if(numarare(mij)==p)
{
rasp=mij;
break;
}
else
{
if(numarare(mij)>p)
dr=mij-1;
else
st=mij+1;
}
}
while(rasp%5!=0)
rasp--;
if(p==0)
fprintf(s,"1");
else if(rasp==0)
fprintf(s,"-1");
else
fprintf(s,"%lld",rasp);
fclose(s);
return 0;
}