Cod sursa(job #349796)

Utilizator TFifesPorcescu Alexandru TFifes Data 21 septembrie 2009 16:21:35
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
int main ()
{
    short s=0;
    unsigned long i;
  ifstream x("fact.in");
  ofstream y("fact.out");
  unsigned long v[13];
  for(i=0;i<13;i++)
      v[i]=pow(5,i+1);
      unsigned long p,a,b,c,d;
      unsigned long long p2,nr;
      a=0;
      b=2000000000;
      x>>p;
      if(p==0)
      {
          y<<1;
          x.close();
          y.close();
          return 0;
      }
      do
      {

          c=(a+b)/2;
          d=c;
          p=1;

          for(i=2;i<=c;i++)
          {
              p2*=i;
          }
            for(i=0;i<=13,p2%v[i]==0;i++)
            {
                nr+=p2/v[i];
            }
          if(nr==p)
          {
           s=1;
           y<<b;
          }
          if(nr>p)
          {
              b=d-1;
          }
          else
          {
              a=d+1;
          }
      }
      while(s!=1);
      if(s==0)
          y<<-1;
       x.close();
       y.close();
    return 0;
    }