Cod sursa(job #40294)

Utilizator za_wolfpalianos cristian za_wolf Data 27 martie 2007 12:31:57
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#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--;
//	if (y[p]==0)
	return (s/y[p]);
//	else
//	return 0;
}

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"); else
	{
	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;
}