Pagini recente » Cod sursa (job #1247120) | Cod sursa (job #1795831) | Cod sursa (job #781686) | Profil LianaM | Cod sursa (job #39628)
Cod sursa(job #39628)
#include<stdio.h>
#include<math.h>
long s,a,i,j,k,l,n,m,x[20];
int kkt(long x)
{
long s,i,k;
i=5;
k=x;
s=0;
while (k/i>=1)
{
s+=k/i;
i=i*5;
}
if (s==n) return 1;
return 0;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&n);
x[0]=0;
x[1]=25;
x[2]=125;
x[3]=625;
for (i=4;i<=13;i++)
{
x[i]=pow(5,i+1)-pow(5,i)+5;
}
m=5;
if (n>pow(5,m))
{
s=1;
while(n>pow(5,m))
m++;
}
else
{
s=0;
while(n<pow(5,m))
m--;
}
if (x[m]==n)
printf("%ld\n",pow(5,i+1));
else
{
if (s==1)
{
k=x[m-1];
for (i=k;i<=x[m];i+=5)
/*if (kkt(i))*/{a=i;s=0;j=5;while (a/j>=1){s+=a/j;j=j*5;} if (a==n) {printf("%ld\n",i); return 0;}}
}
else
{
k=x[m];
for (i=k;i<=x[m+1];i+=5)
/*if (kkt(i))*/{a=i;s=0;j=5;while (a/j>=1){s+=a/j;j=j*5;} if (a==n) {printf("%ld\n",i); return 0;}}
}
}
return 0;
}