Cod sursa(job #175216)

Utilizator RoflmaoPatru Ovidiu Roflmao Data 9 aprilie 2008 18:18:30
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream.h>
#include<iostream.h>
#include<values.h>
#include<math.h>
int main()
{
  long p,min=0,total,x,i,max,j;
  fstream f,g;
  f.open("fact.in",ios::in);
  f>>p;
  f.close();
  max=500000000;
  x=250000000;
  min=0;
  g.open("fact.out",ios::out);
  if(p==0)
    g<<1;
  else
  {
  for(i=1;i<=30;i++)
  {
    total=0;
    for(j=1;j<=12;j++)
    {
      total=x/pow(5,j)+total;
      if(total>p)
	break;
    }
    if(total==p)
    {
      x=x-x%5;
      g<<x;
      break;
    }
    else
      if(total<p)
      {
	min=x;
	x=(min+max)/2;
      }
      else
      {
	max=x;
	x=(min+max)/2;
      }
  }
  if(i==31)
    g<<-1;
  }
  g.close();
  return 0;
}