Pagini recente » Cod sursa (job #470416) | Cod sursa (job #2060081) | Cod sursa (job #973699) | Cod sursa (job #434299) | Cod sursa (job #1803916)
#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,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<<28;
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;
}