Pagini recente » Cod sursa (job #2133952) | Cod sursa (job #396370) | Cod sursa (job #706891) | Cod sursa (job #697730) | Cod sursa (job #583574)
Cod sursa(job #583574)
#include<stdio.h>
unsigned long z[16],p[16],i;
long fact(long a)
{
unsigned long n,j;
n=0;
for (j=i;j>=1;j--)
if (a>=z[j])
{
n+=(a/z[j])*p[j];
a%=z[j];
}
return n;
}
int main()
{
unsigned long a,j;
long n,m;
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
p[1]=5;
z[1]=1;
i=1;
scanf("%i",&a);
while (a>z[i])
{
i++;
p[i]=p[i-1]*5;
z[i]=z[i-1]*5+1;
}
n=fact(a);
m=fact(a+1);
if (m==n) n=-1;
if (n==0) n++;
printf("%i",n);
return 0;
}