Cod sursa(job #81011)

Utilizator coderninuHasna Robert coderninu Data 31 august 2007 00:02:23
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
#define infile "fact.in"
#define outfile "fact.out"

long p, i, nr=6;

void readdata();
void writedata();
void solve();

int main()
{
 readdata();
 if (!p) { freopen(outfile, "w", stdout); printf("1\n"); fclose(stdout); }
 else
     {
      solve();
      writedata();
     }
 return 0;
}

void readdata()
{
 freopen(infile, "r", stdin);
 scanf("%ld", &p);
 fclose(stdin);
}

void solve()
{
 long temp;
 int da=0;
 for (i=25; nr<p; i+=25, da=1)
     {
      temp=i;
      while (!(temp%5))
	  {
	   nr++;
	   temp/=5;
	  }
     nr+=4;
     }
 for (i=da?i-25:i; nr>p; i-=5)
     {
      temp=i;
      while(!(temp%5))
	  {
	   nr--;
	   temp/=5;
	  }
     }
}

void writedata()
{
 freopen(outfile, "w", stdout);
 if (nr==p) printf("%ld\n", i-5);
 else printf("-1\n");
 fclose(stdout);
}