Pagini recente » Cod sursa (job #1765532) | Cod sursa (job #408814)
Cod sursa(job #408814)
#include<stdio.h>
#define nmax 2000000000
FILE *f=fopen("fact.in","r"), *g=fopen("fact.out","w");
unsigned long long ls,ld,mij,i,t,p,zr;
struct nod
{
long long pt, zer;
} v[15];
int z(long long n)
{
int t=0;
while(n)
{
t+=n/5;
n/=5;
}
return t;
}
int main()
{
fscanf(f, "%lld", &p);
ls=0, ld=nmax*100;
if(p==0)
{
fprintf(g,"1");
return 0;
}
while(ls<ld)
{
mij=(ls+ld)/2;
zr=z(mij-(mij%5));
if(zr==p)
{
fprintf(g, "%ld", mij-mij%5);
return 0;
}
else if(zr<p)
ls=mij;
else if(zr>p)
ld=mij;
if(ls+1==ld) break;
}
fprintf(g, "-1");
return 0;
}