Cod sursa(job #268789)

Utilizator warangeldinu sorin warangel Data 1 martie 2009 20:18:46
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
inline long getfive(unsigned long x)
{
	unsigned long n=0;
   while(x%5==0)
   {
   	n++;
      x/=5;
   }
   return n;
}
int main()
{
	long long nr,i=0,x;
   FILE *fi,*fo;
   fi=fopen("fact.in","r");
   fo=fopen("fact.out","w");
   fscanf(fi,"%llu",&nr);
   if(nr==0)i++;
   while(nr>0)
   {
      i+=125;
      x=getfive(i)+28;
      nr-=x;
   }
   while(nr<0)
   {
      x=getfive(i);
      nr+=x;
      i-=5;
   }
   if(nr!=0)fprintf(fo,"-1");
   else fprintf(fo,"%llu",i);
   return 0;
}