Cod sursa(job #79032)

Utilizator alex23alexandru andronache alex23 Data 20 august 2007 15:40:08
Problema Factorial Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>

long long n,p,i,j,s,nr;
int v[200];

long long fact()
  {
   s=0;
   while (s<n)
     {
      v[1]++;
      j=1;
      if (v[1]==5) {
                    while (v[j]==5)
                       {v[j]=0;
                        j++;
                        v[j]++;
                        }
                    if (nr<j) nr=j;
                    }
      s=s+j;
      }
   if (s!=n) return -1;
        else {
              p=0;j=5;
              for (i=1;i<=nr;i++)
                  {p=p+v[i]*j;
                   j=j*5;
                   }
              return p;
              }
   }
int main()

{FILE *fin,*fout;

 for (i=1;i<=100;i++)
    v[i]=0;
 nr=1;
 fin=fopen("fact.in","r");
 fscanf(fin,"%lld",&n);
 fclose(fin);

 fout=fopen("fact.out","w");
 if (n==0) fprintf(fout,"%d",1);
      else fprintf(fout,"%lld",fact());
 fclose(fout);

 return 0;
}