Cod sursa(job #181295)

Utilizator hasegandaniHasegan Daniel hasegandani Data 18 aprilie 2008 10:56:30
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#include<math.h>
unsigned long p,s=0,a[13];
int b[12],ok=1;

void bord()
{
	for(int i=2;i<=12;++i)
		a[i]=5*a[i-1]+1;

}

int main()
{
    unsigned long i;
    FILE *f=fopen("fact.in","r");
    FILE *g=fopen("fact.out","w");
    fscanf(f,"%lu",&p);
    fclose(f);
    if (p!=0)
       {
       a[1]=1;
       bord();
       while (p)
	{
	for(i=12;(i>=1) && (a[i]>p);--i);
	p-=a[i];
	s+=pow(5,i);
	++b[i];
	}
       for(i=1;(i<=11) && (ok==1);++i)
	if (b[i]>=5) ok=0;
       if (ok==1)  fprintf(g,"%lu",s);
       else fprintf(g,"-1");
       }
    else fprintf(g,"1");
    return 0;
}