Cod sursa(job #81272)

Utilizator Astrid28Ruxandra Cohal Astrid28 Data 31 august 2007 22:31:29
Problema Factorial Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>

FILE *fin,*fout;
long p, putere,n;


void citire()
{
  fin=fopen("fact.in","r");
  fout=fopen("fact.out","w");
  fscanf(fin,"%ld",&p);
  fclose(fin);
}



void afisare(long nr)
{
  fprintf(fout,"%ld\n",nr);
  fclose(fout);
}


void calc()
{
  long i,j;
  i=1; putere=5;
  while (putere<=n)
    {
      i++;
      putere*=5;
      if (putere<=n)
       {n-=5*(i-1);
	j=1;
	do{
	   j++;
	   if (j%5!=0)
	     if (putere*j<=n) n-=5*(i-1);
	  }while (putere*j<=n);
       }
    }

  afisare(n);
}



int main()
{
  citire();
  if (p==0) {fprintf(fout,"1\n");fclose(fout);}
   else if (p>=0)
    {n=p*5;
     calc();
    }
   else {fprintf(fout,"-1\n");fclose(fout);}
  return 0;
}