Pagini recente » Cod sursa (job #2207152) | Cod sursa (job #2309005) | Cod sursa (job #982711) | Cod sursa (job #67268) | Cod sursa (job #1803920)
#include <stdio.h>
#include <stdlib.h>
inline long long int put5(long long int n)
{
long long int s=0;
while(n>0)
{
n=n/5;
s+=n;
}
return s;
}
int main()
{
long long int n,i=1,p,k;
FILE*fi,*fo;
fi=fopen("fact.in","r");
fo=fopen("fact.out","w");
fscanf(fi,"%lld",&n);
if(n==0)
fprintf(fo,"1");
else
{
i=i<<48;
printf("%lld ",i);
p=0;
while(i>0)
{
if(put5(p+i)<=n)
{
p+=i;
}
i/=2;
}
while(put5(p)>=n)
p--;
if(put5(p+1)==n)
fprintf(fo,"%lld",p+1);
else fprintf(fo,"-1");
}
fclose(fi);
fclose(fo);
return 0;
}