Pagini recente » Cod sursa (job #3153216) | Cod sursa (job #765259) | Cod sursa (job #1598450) | Cod sursa (job #2140878) | Cod sursa (job #120478)
Cod sursa(job #120478)
#include <stdio.h>
#include <math.h>
long p, n, m, j, k, l, i, a, s, x[20], y[20];
long pal(long s)
{
p = 0;
while (s >= y[p])
p ++;
p --;
return (s / y[p]);
}
long ver(long n)
{
long i, s;
a = 1;
s = 0;
while (n)
{
a = pal(n);
s += a * x[p];
n = n - y[p] * a;
}
return s;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld", &n);
if (n == 0)
{
printf("1\n");
return 0;
}
y[0]=1;
y[14]=1;
for (i = 1; i <= 13; i ++)
{
x[i] = pow(5, i);
y[i] = x[i - 1] + y[i - 1];
}
k=ver(n);
l=ver(n+1);
if (k==l)
printf("-1\n");
else
printf("%ld\n",k);
return 0;
}