Cod sursa(job #69948)

Utilizator coderninuHasna Robert coderninu Data 4 iulie 2007 14:12:18
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#define infile "fact.in"
#define outfile "fact.out"
#define inf 2000000000
long n, p, rez, i, temp2=inf;

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

void solve()
{
 long temp, aux;
 n=inf;
 for (i=p; n>p ; i--)
     {
      rez=i*5;
      n=i;
      temp=rez;
      aux=25;
      while (temp/aux)
	  {
	   n+=temp/aux;
	   aux*=5;
	  }
      if (n==p)
	  {
	   temp2=rez;
	   return;
	  }
      if (n>p) temp2=rez;
     }
}

void writedata()
{
 freopen(outfile, "w", stdout);
 printf("%ld", temp2);
 fclose(stdout);
}

int main()
{
 readdata();
 solve();
 writedata();
 return 0;
}